{"templateId":"markdown","versions":[{"version":"v1","label":"1.x (archive)","link":"/docs/cli/v1/rules/oas/no-illogical-composition-keywords","default":false,"active":false,"folderId":"6f4800fc"},{"version":"v2","label":"2.x (current)","link":"/docs/cli/rules/oas/no-illogical-composition-keywords","default":true,"active":true,"folderId":"6f4800fc"}],"sharedDataIds":{"sidebar":"sidebar-docs-cli.sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"redocly_category":"Redocly CLI","type":"markdown"},"seo":{"title":"no-illogical-composition-keywords","description":"OpenAPI-generated documentation tool with 24k+ stars on Github - make APIs your company's superpower.","siteUrl":"https://redocly.com","image":"/assets/redocly-card.f670aae34a39545a5ea633a540cb3a4a333a1f23bb2ed3c4a1b17a5fbcf0ac85.db81178d.png","lang":"en-US"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"no-illogical-composition-keywords","__idx":0},"children":["no-illogical-composition-keywords"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ensures that ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["anyOf"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allOf"]}," combine schemas that a value can actually resolve against."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The rule reports:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["anyOf"]}," with fewer than two schemas, unless the schema declares a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["discriminator"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["anyOf"]}," with fewer than two schemas, unless the schema declares a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["discriminator"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allOf"]}," with fewer than two schemas that neither declares another keyword of its own nor extends a discriminated schema"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["schemas repeated inside the same keyword"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["empty schemas (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{}"]},") used as members"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["two ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," schemas that a single value can match at the same time"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["schemas that accept null alongside a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," member that also accepts null"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["member schemas that omit the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["discriminator"]}," property from required"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["inline ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["anyOf"]}," members that a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["discriminator"]}," cannot select"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"OAS"},"children":["OAS"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Compatibility"},"children":["Compatibility"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2.0"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["❌"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3.0"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3.1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3.2"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]}]}]}]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"flowchart TD\n\nRoot ==> components --> NamedSchemas --> Schema\n\nSchema ==> OneOf\nSchema ==> AnyOf\nSchema ==> AllOf\n\nstyle OneOf fill:#codaf9,stroke:#0044d4,stroke-width:5px\nstyle AnyOf fill:#codaf9,stroke:#0044d4,stroke-width:5px\nstyle AllOf fill:#codaf9,stroke:#0044d4,stroke-width:5px\n","diagramHtml":"<svg id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 422.28125px;\" viewBox=\"0 0 422.28125 486\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .error-icon{fill:#552222;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .error-text{fill:#552222;stroke:#552222;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edge-thickness-normal{stroke-width:1px;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edge-thickness-thick{stroke-width:3.5px;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edge-pattern-solid{stroke-dasharray:0;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .marker{fill:#333333;stroke:#333333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .marker.cross{stroke:#333333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 p{margin:0;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .cluster-label text{fill:#333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .cluster-label span{color:#333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .cluster-label span p{background-color:transparent;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .label text,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 span{fill:#333;color:#333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node rect,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node circle,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node ellipse,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node polygon,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .rough-node .label text,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node .label text,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .image-shape .label,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .icon-shape .label{text-anchor:middle;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .rough-node .label,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node .label,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .image-shape .label,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .icon-shape .label{text-align:center;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node.clickable{cursor:pointer;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .arrowheadPath{fill:#333333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .flowchart-link{stroke:#333333;fill:none;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .cluster text{fill:#333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .cluster span{color:#333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 rect.text{fill:none;stroke-width:0;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .icon-shape,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .icon-shape p,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .icon-shape .label rect,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 .node .neo-node{stroke:#9370DB;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].node rect,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].cluster rect,#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M217.375,62L217.375,66.167C217.375,70.333,217.375,78.667,217.375,86.333C217.375,94,217.375,101,217.375,104.5L217.375,108\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-L_Root_components_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Root_components_0\" data-points=\"W3sieCI6MjE3LjM3NSwieSI6NjJ9LHsieCI6MjE3LjM3NSwieSI6ODd9LHsieCI6MjE3LjM3NSwieSI6MTEyfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-pointEnd)\"></path><path d=\"M217.375,166L217.375,170.167C217.375,174.333,217.375,182.667,217.375,190.333C217.375,198,217.375,205,217.375,208.5L217.375,212\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-L_components_NamedSchemas_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_components_NamedSchemas_0\" data-points=\"W3sieCI6MjE3LjM3NSwieSI6MTY2fSx7IngiOjIxNy4zNzUsInkiOjE5MX0seyJ4IjoyMTcuMzc1LCJ5IjoyMTZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-pointEnd)\"></path><path d=\"M217.375,270L217.375,274.167C217.375,278.333,217.375,286.667,217.375,294.333C217.375,302,217.375,309,217.375,312.5L217.375,316\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-L_NamedSchemas_Schema_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_NamedSchemas_Schema_0\" data-points=\"W3sieCI6MjE3LjM3NSwieSI6MjcwfSx7IngiOjIxNy4zNzUsInkiOjI5NX0seyJ4IjoyMTcuMzc1LCJ5IjozMjB9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-pointEnd)\"></path><path d=\"M158.023,366.809L141.948,372.174C125.872,377.539,93.721,388.27,77.646,397.135C61.57,406,61.57,413,61.57,416.5L61.57,420\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-L_Schema_OneOf_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Schema_OneOf_0\" data-points=\"W3sieCI6MTU4LjAyMzQzNzUsInkiOjM2Ni44MDg2NTQ2NjU3OTc1fSx7IngiOjYxLjU3MDMxMjUsInkiOjM5OX0seyJ4Ijo2MS41NzAzMTI1LCJ5Ijo0MjR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-pointEnd)\"></path><path d=\"M217.375,374L217.375,378.167C217.375,382.333,217.375,390.667,217.375,398.333C217.375,406,217.375,413,217.375,416.5L217.375,420\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-L_Schema_AnyOf_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Schema_AnyOf_0\" data-points=\"W3sieCI6MjE3LjM3NSwieSI6Mzc0fSx7IngiOjIxNy4zNzUsInkiOjM5OX0seyJ4IjoyMTcuMzc1LCJ5Ijo0MjR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-pointEnd)\"></path><path d=\"M276.727,367.634L291.763,372.862C306.799,378.09,336.872,388.545,351.909,397.272C366.945,406,366.945,413,366.945,416.5L366.945,420\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-L_Schema_AllOf_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Schema_AllOf_0\" data-points=\"W3sieCI6Mjc2LjcyNjU2MjUsInkiOjM2Ny42MzQzMTcwNTQwNjExfSx7IngiOjM2Ni45NDUzMTI1LCJ5IjozOTl9LHsieCI6MzY2Ljk0NTMxMjUsInkiOjQyNH1d\" data-look=\"classic\" marker-end=\"url(#diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Root_components_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_components_NamedSchemas_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_NamedSchemas_Schema_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Schema_OneOf_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Schema_AnyOf_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Schema_AllOf_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-flowchart-Root-0\" data-look=\"classic\" transform=\"translate(217.375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-46.8984375\" y=\"-27\" width=\"93.796875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-16.8984375, -12)\"><rect></rect><foreignObject width=\"33.796875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Root</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-flowchart-components-1\" data-look=\"classic\" transform=\"translate(217.375, 139)\"><rect class=\"basic label-container\" style=\"\" x=\"-73.5859375\" y=\"-27\" width=\"147.171875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-43.5859375, -12)\"><rect></rect><foreignObject width=\"87.171875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>components</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-flowchart-NamedSchemas-2\" data-look=\"classic\" transform=\"translate(217.375, 243)\"><rect class=\"basic label-container\" style=\"\" x=\"-89.140625\" y=\"-27\" width=\"178.28125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-59.140625, -12)\"><rect></rect><foreignObject width=\"118.28125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>NamedSchemas</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-flowchart-Schema-3\" data-look=\"classic\" transform=\"translate(217.375, 347)\"><rect class=\"basic label-container\" style=\"\" x=\"-59.3515625\" y=\"-27\" width=\"118.703125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-29.3515625, -12)\"><rect></rect><foreignObject width=\"58.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Schema</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-flowchart-OneOf-5\" data-look=\"classic\" transform=\"translate(61.5703125, 451)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:5px !important\" x=\"-53.5703125\" y=\"-27\" width=\"107.140625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.5703125, -12)\"><rect></rect><foreignObject width=\"47.140625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>OneOf</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-flowchart-AnyOf-7\" data-look=\"classic\" transform=\"translate(217.375, 451)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:5px !important\" x=\"-52.234375\" y=\"-27\" width=\"104.46875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-22.234375, -12)\"><rect></rect><foreignObject width=\"44.46875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>AnyOf</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-flowchart-AllOf-9\" data-look=\"classic\" transform=\"translate(366.9453125, 451)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:5px !important\" x=\"-47.3359375\" y=\"-27\" width=\"94.671875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-17.3359375, -12)\"><rect></rect><foreignObject width=\"34.671875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>AllOf</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-16234b3afe3992fd90ad7556f61db473a2f13ab84f523ae823be737ba47f4c31-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 422.28125px;\" viewBox=\"0 0 422.28125 486\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .error-icon{fill:#a44141;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .error-text{fill:#ddd;stroke:#ddd;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edge-thickness-normal{stroke-width:1px;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edge-thickness-thick{stroke-width:3.5px;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edge-pattern-solid{stroke-dasharray:0;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .marker.cross{stroke:lightgrey;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 p{margin:0;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .cluster-label text{fill:#F9FFFE;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .cluster-label span{color:#F9FFFE;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .cluster-label span p{background-color:transparent;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .label text,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 span{fill:#ccc;color:#ccc;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node rect,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node circle,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node ellipse,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node polygon,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .rough-node .label text,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node .label text,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .image-shape .label,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .icon-shape .label{text-anchor:middle;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .rough-node .label,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node .label,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .image-shape .label,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .icon-shape .label{text-align:center;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node.clickable{cursor:pointer;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .arrowheadPath{fill:lightgrey;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .cluster text{fill:#F9FFFE;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .cluster span{color:#F9FFFE;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 rect.text{fill:none;stroke-width:0;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .icon-shape,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .icon-shape p,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .icon-shape .label rect,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 .node .neo-node{stroke:#ccc;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].node rect,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].cluster rect,#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].node polygon{stroke:url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].node path{stroke:url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-gradient);stroke-width:1px;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].node circle{stroke:url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M217.375,62L217.375,66.167C217.375,70.333,217.375,78.667,217.375,86.333C217.375,94,217.375,101,217.375,104.5L217.375,108\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-L_Root_components_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Root_components_0\" data-points=\"W3sieCI6MjE3LjM3NSwieSI6NjJ9LHsieCI6MjE3LjM3NSwieSI6ODd9LHsieCI6MjE3LjM3NSwieSI6MTEyfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-pointEnd)\"></path><path d=\"M217.375,166L217.375,170.167C217.375,174.333,217.375,182.667,217.375,190.333C217.375,198,217.375,205,217.375,208.5L217.375,212\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-L_components_NamedSchemas_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_components_NamedSchemas_0\" data-points=\"W3sieCI6MjE3LjM3NSwieSI6MTY2fSx7IngiOjIxNy4zNzUsInkiOjE5MX0seyJ4IjoyMTcuMzc1LCJ5IjoyMTZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-pointEnd)\"></path><path d=\"M217.375,270L217.375,274.167C217.375,278.333,217.375,286.667,217.375,294.333C217.375,302,217.375,309,217.375,312.5L217.375,316\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-L_NamedSchemas_Schema_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_NamedSchemas_Schema_0\" data-points=\"W3sieCI6MjE3LjM3NSwieSI6MjcwfSx7IngiOjIxNy4zNzUsInkiOjI5NX0seyJ4IjoyMTcuMzc1LCJ5IjozMjB9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-pointEnd)\"></path><path d=\"M158.023,366.809L141.948,372.174C125.872,377.539,93.721,388.27,77.646,397.135C61.57,406,61.57,413,61.57,416.5L61.57,420\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-L_Schema_OneOf_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Schema_OneOf_0\" data-points=\"W3sieCI6MTU4LjAyMzQzNzUsInkiOjM2Ni44MDg2NTQ2NjU3OTc1fSx7IngiOjYxLjU3MDMxMjUsInkiOjM5OX0seyJ4Ijo2MS41NzAzMTI1LCJ5Ijo0MjR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-pointEnd)\"></path><path d=\"M217.375,374L217.375,378.167C217.375,382.333,217.375,390.667,217.375,398.333C217.375,406,217.375,413,217.375,416.5L217.375,420\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-L_Schema_AnyOf_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Schema_AnyOf_0\" data-points=\"W3sieCI6MjE3LjM3NSwieSI6Mzc0fSx7IngiOjIxNy4zNzUsInkiOjM5OX0seyJ4IjoyMTcuMzc1LCJ5Ijo0MjR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-pointEnd)\"></path><path d=\"M276.727,367.634L291.763,372.862C306.799,378.09,336.872,388.545,351.909,397.272C366.945,406,366.945,413,366.945,416.5L366.945,420\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-L_Schema_AllOf_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Schema_AllOf_0\" data-points=\"W3sieCI6Mjc2LjcyNjU2MjUsInkiOjM2Ny42MzQzMTcwNTQwNjExfSx7IngiOjM2Ni45NDUzMTI1LCJ5IjozOTl9LHsieCI6MzY2Ljk0NTMxMjUsInkiOjQyNH1d\" data-look=\"classic\" marker-end=\"url(#diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Root_components_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_components_NamedSchemas_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_NamedSchemas_Schema_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Schema_OneOf_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Schema_AnyOf_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Schema_AllOf_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-flowchart-Root-0\" data-look=\"classic\" transform=\"translate(217.375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-46.8984375\" y=\"-27\" width=\"93.796875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-16.8984375, -12)\"><rect></rect><foreignObject width=\"33.796875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Root</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-flowchart-components-1\" data-look=\"classic\" transform=\"translate(217.375, 139)\"><rect class=\"basic label-container\" style=\"\" x=\"-73.5859375\" y=\"-27\" width=\"147.171875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-43.5859375, -12)\"><rect></rect><foreignObject width=\"87.171875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>components</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-flowchart-NamedSchemas-2\" data-look=\"classic\" transform=\"translate(217.375, 243)\"><rect class=\"basic label-container\" style=\"\" x=\"-89.140625\" y=\"-27\" width=\"178.28125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-59.140625, -12)\"><rect></rect><foreignObject width=\"118.28125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>NamedSchemas</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-flowchart-Schema-3\" data-look=\"classic\" transform=\"translate(217.375, 347)\"><rect class=\"basic label-container\" style=\"\" x=\"-59.3515625\" y=\"-27\" width=\"118.703125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-29.3515625, -12)\"><rect></rect><foreignObject width=\"58.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Schema</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-flowchart-OneOf-5\" data-look=\"classic\" transform=\"translate(61.5703125, 451)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:5px !important\" x=\"-53.5703125\" y=\"-27\" width=\"107.140625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.5703125, -12)\"><rect></rect><foreignObject width=\"47.140625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>OneOf</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-flowchart-AnyOf-7\" data-look=\"classic\" transform=\"translate(217.375, 451)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:5px !important\" x=\"-52.234375\" y=\"-27\" width=\"104.46875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-22.234375, -12)\"><rect></rect><foreignObject width=\"44.46875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>AnyOf</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-flowchart-AllOf-9\" data-look=\"classic\" transform=\"translate(366.9453125, 451)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:5px !important\" x=\"-47.3359375\" y=\"-27\" width=\"94.671875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-17.3359375, -12)\"><rect></rect><foreignObject width=\"34.671875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>AllOf</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-570d5937f5e85a985da21aef6838b16d1de40b4d04cef46c09195b231a967950-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":["flowchart TD\n\nRoot ==> components --> NamedSchemas --> Schema\n\nSchema ==> OneOf\nSchema ==> AnyOf\nSchema ==> AllOf\n\nstyle OneOf fill:#codaf9,stroke:#0044d4,stroke-width:5px\nstyle AnyOf fill:#codaf9,stroke:#0044d4,stroke-width:5px\nstyle AllOf fill:#codaf9,stroke:#0044d4,stroke-width:5px\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"api-design-principles","__idx":1},"children":["API design principles"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," means \"exactly one\"."," ","When a value matches two of the listed schemas, no tool can tell which one was intended."," ","Validators, code generators, and documentation all disagree about the result."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["One of the most common ambiguous patterns is nullability."," ","If a referenced schema already accepts ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," also lists ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type: 'null'"]},", a null value matches both branches."," ","The same ambiguity appears one level up, when the schema holding the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," is itself nullable and a member accepts ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," too."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Deciding whether two arbitrary schemas overlap is not solvable in general, so the comparison stays deliberately narrow."," ","It reads ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nullable"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enum"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["const"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["properties"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["required"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["additionalProperties: false"]},"."," ","A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["const"]}," counts as a single-value ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enum"]},"."," ","One member can use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enum"]}," and the other ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["const"]},"."," ","When a member uses any other constraint, such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["not"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pattern"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["minimum"]},", or a nested ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allOf"]},", that constraint may be what separates the schemas."," ","In such cases, the rule reports nothing for the pair."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["discriminator"]}," names the property that tells the members apart."," ","The rule trusts it and checks only what the specification requires."," ","The property must be listed in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["required"]}," in every member schema, because a value can otherwise omit it and nothing decides which schema applies."," ","OAS 3.2 turned this into a specification requirement and added ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["defaultMapping"]}," as an alternative to marking the property required, so on 3.2 documents ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/cli/rules/oas/spec-discriminator-defaultMapping"},"children":["spec-discriminator-defaultMapping"]}," reports it and this rule stays quiet."," ","Every member must also be a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["$ref"]},": a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["discriminator"]}," selects a schema by its component name, and the specification states that inline ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["anyOf"]}," subschemas are not considered, so an inline member can never be selected."," ","A member that declares ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["$id"]}," is exempt, because a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mapping"]}," entry can name it by URI."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wrapping one schema in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allOf"]}," to attach sibling keywords, such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["readOnly"]}," next to a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["$ref"]},", stays common because support for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["$ref"]}," siblings is uneven across tools."," ","Referencing a schema that declares a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["discriminator"]}," carries meaning of its own too: the discriminator resolves the subtype by its schema name, so the wrapper declares a subtype even when it adds no properties."," ","The rule reports an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allOf"]}," wrapper only when neither applies."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration","__idx":2},"children":["Configuration"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Option"},"children":["Option"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["severity"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Possible values: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["off"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]},". Default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]}," (in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recommended"]}," configuration)."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An example configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"rules:\n  no-illogical-composition-keywords: error\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"examples","__idx":3},"children":["Examples"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Given this configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"rules:\n  no-illogical-composition-keywords: error\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example of an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["incorrect"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," where both schemas accept ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"components:\n  schemas:\n    PhotoUrl:\n      type: [string, 'null']\n      format: uri\n    MenuItemPhoto:\n      oneOf:\n        - $ref: '#/components/schemas/PhotoUrl'\n        - type: 'null'\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example of a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["correct"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"components:\n  schemas:\n    PhotoUrl:\n      type: string\n      format: uri\n    MenuItemPhoto:\n      oneOf:\n        - $ref: '#/components/schemas/PhotoUrl'\n        - type: 'null'\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example of an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["incorrect"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["discriminator"]}," with an inline member:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"components:\n  schemas:\n    Beverage:\n      type: object\n      properties:\n        category:\n          type: string\n          const: beverage\n      required:\n        - category\n    MenuItem:\n      discriminator:\n        propertyName: category\n      oneOf:\n        - $ref: '#/components/schemas/Beverage'\n        - type: object\n          properties:\n            category:\n              type: string\n              const: dessert\n          required:\n            - category\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Move the inline schema into ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["components/schemas"]}," as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Dessert"]}," and reference it with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["$ref"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example of an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["incorrect"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["discriminator"]},", where ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["category"]}," is optional:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"components:\n  schemas:\n    MenuItem:\n      discriminator:\n        propertyName: category\n      oneOf:\n        - $ref: '#/components/schemas/Beverage'\n        - $ref: '#/components/schemas/Dessert'\n    Beverage:\n      type: object\n      properties:\n        category:\n          type: string\n          const: beverage\n    Dessert:\n      type: object\n      properties:\n        category:\n          type: string\n          const: dessert\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["category"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["required"]}," in both ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Beverage"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Dessert"]}," to fix this."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example of a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["correct"]}," single-schema ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allOf"]}," that declares a subtype:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"components:\n  schemas:\n    MenuBaseItem:\n      type: object\n      required:\n        - category\n      properties:\n        category:\n          type: string\n      discriminator:\n        propertyName: category\n    Dessert:\n      allOf:\n        - $ref: '#/components/schemas/MenuBaseItem'\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["incorrect"]}," composition keywords:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"components:\n  schemas:\n    MenuItem:\n      oneOf:\n        - $ref: '#/components/schemas/Beverage'\n    Order:\n      allOf:\n        - $ref: '#/components/schemas/Beverage'\n        - $ref: '#/components/schemas/Beverage'\n        - {}\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MenuItem"]}," wraps a single schema, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Order"]}," repeats one schema and adds an empty one that matches any value."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-rules","__idx":4},"children":["Related rules"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/cli/rules/common/no-schema-type-mismatch"},"children":["no-schema-type-mismatch"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/cli/rules/common/no-required-schema-properties-undefined"},"children":["no-required-schema-properties-undefined"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/cli/rules/oas/spec-discriminator-defaultMapping"},"children":["spec-discriminator-defaultMapping"]}," — on OAS 3.2, flags a discriminator whose ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["propertyName"]}," is optional but has no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["defaultMapping"]}," required by OAS 3.2."," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-illogical-composition-keywords"]}," checks the same issue on OAS 3.0 and 3.1, where ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["defaultMapping"]}," doesn't exist."," ","Enable both rules to cover every OAS version."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"resources","__idx":5},"children":["Resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://github.com/Redocly/redocly-cli/blob/main/packages/core/src/rules/oas3/no-illogical-composition-keywords.ts"},"children":["Rule source"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/openapi-visual-reference/schemas/"},"children":["Schema object docs"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/openapi-visual-reference/discriminator/"},"children":["Discriminator object docs"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/learn/openapi/any-of-one-of"},"children":["How to use oneOf and anyOf in OpenAPI"]}]}]}]},"headings":[{"value":"no-illogical-composition-keywords","id":"no-illogical-composition-keywords","depth":1},{"value":"API design principles","id":"api-design-principles","depth":2},{"value":"Configuration","id":"configuration","depth":2},{"value":"Examples","id":"examples","depth":2},{"value":"Related rules","id":"related-rules","depth":2},{"value":"Resources","id":"resources","depth":2}],"frontmatter":{"slug":"/docs/cli/rules/oas/no-illogical-composition-keywords","seo":{"title":"no-illogical-composition-keywords"}},"lastModified":"2026-08-26T10:56:59.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/cli/rules/oas/no-illogical-composition-keywords","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}