opeChange =(e) => {\n    let { target } = e\n    let { checked } = target\n    let scope = target.dataset.value\n\n    if ( checked && this.state.scopes.indexOf(scope) === -1 ) {\n      let newScopes = this.state.scopes.concat([scope])\n      this.setState({ scopes: newScopes })\n    } else if ( !checked && this.state.scopes.indexOf(scope) > -1) {\n      this.setState({ scopes: this.state.scopes.filter((val) => val !== scope) })\n    }\n  }\n\n  onInputChange =(e) => {\n    let { target : { dataset : { name }, value } } = e\n    let state = {\n      [name]: value\n    }\n\n    this.setState(state)\n  }\n\n  selectScopes =(e) => {\n    if (e.target.dataset.all) {\n      this.setState({\n        scopes: Array.from((this.props.schema.get(\"allowedScopes\") || this.props.schema.get(\"scopes\")).keys())\n      })\n    } else {\n      this.setState({ scopes: [] })\n    }\n  }\n\n  logout =(e) => {\n    e.preventDefault()\n    let { authActions, errActions, name } = this.props\n\n    errActions.clear({authId: name, type: \"auth\", source: \"auth\"})\n    authActions.logoutWithPersistOption([ name ])\n  }\n\n  render() {\n    let {\n      schema, getComponent, authSelectors, errSelectors, name, specSelectors\n    } = this.props\n    const Input = getComponent(\"Input\")\n    const Row = getComponent(\"Row\")\n    const Col = getComponent(\"Col\")\n    const Button = getComponent(\"Button\")\n    const AuthError = getComponent(\"authError\")\n    const JumpToPath = getComponent(\"JumpToPath\", true)\n    const Markdown = getComponent(\"Markdown\", true)\n    const InitializedInput = getComponent(\"InitializedInput\")\n\n    const { isOAS3 } = specSelectors\n\n    let oidcUrl = isOAS3() ? schema.get(\"openIdConnectUrl\") : null\n\n    // Auth type consts\n    const AUTH_FLOW_IMPLICIT = \"implicit\"\n    const AUTH_FLOW_PASSWORD = \"password\"\n    const AUTH_FLOW_ACCESS_CODE = isOAS3() ? (oidcUrl ? \"authorization_code\" : \"authorizationCode\") : \"accessCode\"\n    const AUTH_FLOW_APPLICATION = isOAS3() ? (oidcUrl ? \"client_credentials\" : \"clientCredentials\") : \"application\"\n\n    let authConfigs = authSelectors.getConfigs() || {}\n    let isPkceCodeGrant = !!authConfigs.usePkceWithAuthorizationCodeGrant\n\n    let flow = schema.get(\"flow\")\n    let flowToDisplay = flow === AUTH_FLOW_ACCESS_CODE && isPkceCodeGrant ? flow + \" with PKCE\" : flow\n    let scopes = schema.get(\"allowedScopes\") || schema.get(\"scopes\")\n    let authorizedAuth = authSelectors.authorized().get(name)\n    let isAuthorized = !!authorizedAuth\n    let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n    let isValid = !errors.filter( err => err.get(\"source\") === \"validation\").size\n    let description = schema.get(\"description\")\n\n    return (\n      <div>\n        <h4>{name} (OAuth2, { flowToDisplay }) <JumpToPath path={[ \"securityDefinitions\", name ]} /></h4>\n        { !this.state.appName ? null : <h5>Application: { this.state.appName } </h5> }\n        { description && <Markdown source={ schema.get(\"description\") } /> }\n\n        { isAuthorized && <h6>Authorized</h6> }\n\n        { oidcUrl && <p>OpenID Connect URL: <code>{ oidcUrl }</code></p> }\n        { ( flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE ) && <p>Authorization URL: <code>{ schema.get(\"authorizationUrl\") }</code></p> }\n        { ( flow === AUTH_FLOW_PASSWORD || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_APPLICATION ) && <p>Token URL:<code> { schema.get(\"tokenUrl\") }</code></p> }\n        <p className=\"flow\">Flow: <code>{ flowToDisplay }</code></p>\n\n        {\n          flow !== AUTH_FLOW_PASSWORD ? null\n            : <Row>\n              <Row>\n                <label htmlFor=\"oauth_username\">username:</label>\n                {\n                  isAuthorized ? <code> { this.state.username } </code>\n                    : <Col tablet={10} desktop={10}>\n                      <input id=\"oauth_username\" type=\"text\" data-name=\"username\" onChange={ this.onInputChange } autoFocus/>\n                    </Col>\n                }\n              </Row>\n              {\n\n              }\n              <Row>\n                <label htmlFor=\"oauth_password\">password:</label>\n                {\n                  isAuthorized ? <code> ****** </code>\n                    : <Col tablet={10} desktop={10}>\n                      <input id=\"oauth_password\" type=\"password\" data-name=\"password\" onChange={ this.onInputChange }/>\n                    </Col>\n                }\n              </Row>\n              <Row>\n                <label htmlFor=\"password_type\">Client credentials location:</label>\n                {\n                  isAuthorized ? <code> { this.state.passwordType } </code>\n                    : <Col tablet={10} desktop={10}>\n                      <select id=\"password_type\" data-name=\"passwordType\" onChange={ this.onInputChange }>\n                        <option value=\"basic\">Authorization header</option>\n                        <option value=\"request-body\">Request body</option>\n                      </select>\n                    </Col>\n                }\n              </Row>\n            </Row>\n        }\n        {\n          ( flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD ) &&\n          ( !isAuthorized || isAuthorized && this.state.clientId) && <Row>\n            <label htmlFor={ `client_id_${flow}` }>client_id:</label>\n            {\n              isAuthorized ? <code> ****** </code>\n                           : <Col tablet={10} desktop={10}>\n                               <InitializedInput id={`client_id_${flow}`}\n                                      type=\"text\"\n                                      required={ flow === AUTH_FLOW_PASSWORD }\n                                      initialValue={ this.state.clientId }\n                                      data-name=\"clientId\"\n                                      onChange={ this.onInputChange }/>\n                             </Col>\n            }\n          </Row>\n        }\n\n        {\n          ( (flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD) && <Row>\n            <label htmlFor={ `client_secret_${flow}` }>client_secret:</label>\n            {\n              isAuthorized ? <code> ****** </code>\n                           : <Col tablet={10} desktop={10}>\n                               <InitializedInput id={ `client_secret_${flow}` }\n                                      initialValue={ this.state.clientSecret }\n                                      type=\"password\"\n                                      data-name=\"clientSecret\"\n                                      onChange={ this.onInputChange }/>\n                             </Col>\n            }\n\n          </Row>\n        )}\n\n        {\n          !isAuthorized && scopes && scopes.size ? <div className=\"scopes\">\n            <h2>\n              Scopes:\n              <a onClick={this.selectScopes} data-all={true}>select all</a>\n              <a onClick={this.selectScopes}>select none</a>\n            </h2>\n            { scopes.map((description, name) => {\n              return (\n                <Row key={ name }>\n                  <div className=\"checkbox\">\n                    <Input data-value={ name }\n                          id={`${name}-${flow}-checkbox-${this.state.name}`}\n                           disabled={ isAuthorized }\n                           checked={ this.state.scopes.includes(name) }\n                           type=\"checkbox\"\n                           onChange={ this.onScopeChange }/>\n                         <label htmlFor={`${name}-${flow}-checkbox-${this.state.name}`}>\n                           <span className=\"item\"></span>\n                           <div className=\"text\">\n                             <p className=\"name\">{name}</p>\n                             <p className=\"description\">{description}</p>\n                           </div>\n                         </label>\n                  </div>\n                </Row>\n              )\n              }).toArray()\n            }\n          </div> : null\n        }\n\n        {\n          errors.valueSeq().map( (error, key) => {\n            return <AuthError error={ error }\n                              key={ key }/>\n          } )\n        }\n        <div className=\"auth-btn-wrapper\">\n        { isValid &&\n          ( isAuthorized ? <Button className=\"btn modal-btn auth authorize\" onClick={ this.logout } aria-label=\"Remove authorization\">Logout</Button>\n        : <Button className=\"btn modal-btn auth authorize\" onClick={ this.authorize } aria-label=\"Apply given OAuth2 credentials\">Authorize</Button>\n          )\n        }\n          <Button className=\"btn modal-btn auth btn-done\" onClick={ this.close }>Close</Button>\n        </div>\n\n      </div>\n    )\n  }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Clear extends Component {\n\n  onClick =() => {\n    let { specActions, path, method } = this.props\n    specActions.clearResponse( path, method )\n    specActions.clearRequest( path, method )\n  }\n\n  render(){\n    return (\n      <button className=\"btn btn-clear opblock-control__btn\" onClick={ this.onClick }>\n        Clear\n      </button>\n    )\n  }\n\n  static propTypes = {\n    specActions: PropTypes.object.isRequired,\n    path: PropTypes.string.isRequired,\n    method: PropTypes.string.isRequired,\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst Headers = ( { headers } )=>{\n  return (\n    <div>\n      <h5>Response headers</h5>\n      <pre className=\"microlight\">{headers}</pre>\n    </div>)\n}\nHeaders.propTypes = {\n  headers: PropTypes.array.isRequired\n}\n\nconst Duration = ( { duration } ) => {\n  return (\n    <div>\n      <h5>Request duration</h5>\n      <pre className=\"microlight\">{duration} ms</pre>\n    </div>\n  )\n}\nDuration.propTypes = {\n  duration: PropTypes.number.isRequired\n}\n\n\nexport default class LiveResponse extends React.Component {\n  static propTypes = {\n    response: ImPropTypes.map,\n    path: PropTypes.string.isRequired,\n    method: PropTypes.string.isRequired,\n    displayRequestDuration: PropTypes.bool.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired,\n    getConfigs: PropTypes.func.isRequired\n  }\n\n  shouldComponentUpdate(nextProps) {\n    // BUG: props.response is always coming back as a new Immutable instance\n    // same issue as responses.jsx (tryItOutResponse)\n    return this.props.response !== nextProps.response\n      || this.props.path !== nextProps.path\n      || this.props.method !== nextProps.method\n      || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n  }\n\n  render() {\n    const { response, getComponent, getConfigs, displayRequestDuration, specSelectors, path, method } = this.props\n    const { showMutatedRequest, requestSnippetsEnabled } = getConfigs()\n\n    const curlRequest = showMutatedRequest ? specSelectors.mutatedRequestFor(path, method) : specSelectors.requestFor(path, method)\n    const status = response.get(\"status\")\n    const url = curlRequest.get(\"url\")\n    const headers = response.get(\"headers\").toJS()\n    const notDocumented = response.get(\"notDocumented\")\n    const isError = response.get(\"error\")\n    const body = response.get(\"text\")\n    const duration = response.get(\"duration\")\n    const headersKeys = Object.keys(headers)\n    const contentType = headers[\"content-type\"] || headers[\"Content-Type\"]\n\n    const ResponseBody = getComponent(\"responseBody\")\n    const returnObject = headersKeys.map(key => {\n      var joinedHeaders = Array.isArray(headers[key]) ? headers[key].join() : headers[key]\n      return <span className=\"headerline\" key={key}> {key}: {joinedHeaders} </span>\n    })\n    const hasHeaders = returnObject.length !== 0\n    const Markdown = getComponent(\"Markdown\", true)\n    const RequestSnippets = getComponent(\"RequestSnippets\", true)\n    const Curl = getComponent(\"curl\", true)\n\n    return (\n      <div>\n        { curlRequest && requestSnippetsEnabled \n          ? <RequestSnippets request={ curlRequest }/>\n          : <Curl request={ curlRequest } />\n        }\n        { url && <div>\n            <div className=\"request-url\">\n              <h4>Request URL</h4>\n              <pre className=\"microlight\">{url}</pre>\n            </div>\n          </div>\n        }\n        <h4>Server response</h4>\n        <table className=\"responses-table live-responses-table\">\n          <thead>\n          <tr className=\"responses-header\">\n            <td className=\"col_header response-col_status\">Code</td>\n            <td className=\"col_header response-col_description\">Details</td>\n          </tr>\n          </thead>\n          <tbody>\n            <tr className=\"response\">\n              <td className=\"response-col_status\">\n                { status }\n                {\n                  notDocumented ? <div className=\"response-undocumented\">\n                                    <i> Undocumented </i>\n                                  </div>\n                                : null\n                }\n              </td>\n              <td className=\"response-col_description\">\n                {\n                  isError ? <Markdown source={`${response.get(\"name\") !== \"\" ? `${response.get(\"name\")}: ` : \"\"}${response.get(\"message\")}`}/>\n                          : null\n                }\n                {\n                  body ? <ResponseBody content={ body }\n                                       contentType={ contentType }\n                                       url={ url }\n                                       headers={ headers }\n                                       getConfigs={ getConfigs }\n                                       getComponent={ getComponent }/>\n                       : null\n                }\n                {\n                  hasHeaders ? <Headers headers={ returnObject }/> : null\n                }\n                {\n                  displayRequestDuration && duration ? <Duration duration={ duration } /> : null\n                }\n              </td>\n            </tr>\n          </tbody>\n        </table>\n      </div>\n    )\n  }\n}\n","import React from \"react\"\nimport URL from \"url-parse\"\n\nimport PropTypes from \"prop-types\"\nimport { sanitizeUrl, requiresValidationURL } from \"core/utils\"\nimport win from \"core/window\"\n\nexport default class OnlineValidatorBadge extends React.Component {\n    static propTypes = {\n      getComponent: PropTypes.func.isRequired,\n      getConfigs: PropTypes.func.isRequired,\n      specSelectors: PropTypes.object.isRequired\n    }\n\n    constructor(props, context) {\n        super(props, context)\n        let { getConfigs } = props\n        let { validatorUrl } = getConfigs()\n        this.state = {\n            url: this.getDefinitionUrl(),\n            validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator\" : validatorUrl\n        }\n    }\n\n    getDefinitionUrl = () => {\n      // TODO: test this behavior by stubbing `window.location` in an Enzyme/JSDom env\n      let { specSelectors } = this.props\n\n      const urlObject = new URL(specSelectors.url(), win.location)\n      return urlObject.toString()\n    }\n\n  UNSAFE_componentWillReceiveProps(nextProps) {\n        let { getConfigs } = nextProps\n        let { validatorUrl } = getConfigs()\n\n        this.setState({\n            url: this.getDefinitionUrl(),\n            validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator\" : validatorUrl\n        })\n    }\n\n    render() {\n        let { getConfigs } = this.props\n        let { spec } = getConfigs()\n\n        let sanitizedValidatorUrl = sanitizeUrl(this.state.validatorUrl)\n\n        if ( typeof spec === \"object\" && Object.keys(spec).length) return null\n\n        if (!this.state.url || !requiresValidationURL(this.state.validatorUrl)\n                            || !requiresValidationURL(this.state.url)) {\n          return null\n        }\n\n        return (<span className=\"float-right\">\n                <a target=\"_blank\" rel=\"noopener noreferrer\" href={`${ sanitizedValidatorUrl }/debug?url=${ encodeURIComponent(this.state.url) }`}>\n                    <ValidatorImage src={`${ sanitizedValidatorUrl }?url=${ encodeURIComponent(this.state.url) }`} alt=\"Online validator badge\"/>\n                </a>\n            </span>)\n    }\n}\n\n\nclass ValidatorImage extends React.Component {\n  static propTypes = {\n    src: PropTypes.string,\n    alt: PropTypes.string\n  }\n\n  constructor(props) {\n    super(props)\n    this.state = {\n      loaded: false,\n      error: false\n    }\n  }\n\n  componentDidMount() {\n    const img = new Image()\n    img.onload = () => {\n      this.setState({\n        loaded: true\n      })\n    }\n    img.onerror = () => {\n      this.setState({\n        error: true\n      })\n    }\n    img.src = this.props.src\n  }\n\n  UNSAFE_componentWillReceiveProps(nextProps) {\n    if (nextProps.src !== this.props.src) {\n      const img = new Image()\n      img.onload = () => {\n        this.setState({\n          loaded: true\n        })\n      }\n      img.onerror = () => {\n        this.setState({\n          error: true\n        })\n      }\n      img.src = nextProps.src\n    }\n  }\n\n  render() {\n    if (this.state.error) {\n      return <img alt={\"Error\"} />\n    } else if (!this.state.loaded) {\n      return null\n    }\n    return <img src={this.props.src} alt={this.props.alt} />\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nexport default class Operations extends React.Component {\n\n  static propTypes = {\n    specSelectors: PropTypes.object.isRequired,\n    specActions: PropTypes.object.isRequired,\n    oas3Actions: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired,\n    oas3Selectors: PropTypes.func.isRequired,\n    layoutSelectors: PropTypes.object.isRequired,\n    layoutActions: PropTypes.object.isRequired,\n    authActions: PropTypes.object.isRequired,\n    authSelectors: PropTypes.object.isRequired,\n    getConfigs: PropTypes.func.isRequired,\n    fn: PropTypes.func.isRequired\n  }\n\n  render() {\n    let {\n      specSelectors,\n    } = this.props\n\n    const taggedOps = specSelectors.taggedOperations()\n\n    if(taggedOps.size === 0) {\n      return <h3> No operations defined in spec!</h3>\n    }\n\n    return (\n      <div>\n        { taggedOps.map(this.renderOperationTag).toArray() }\n        { taggedOps.size < 1 ? <h3> No operations defined in spec! </h3> : null }\n      </div>\n    )\n  }\n\n  renderOperationTag = (tagObj, tag) => {\n    const {\n      specSelectors,\n      getComponent,\n      oas3Selectors,\n      layoutSelectors,\n      layoutActions,\n      getConfigs,\n    } = this.props\n    const validOperationMethods = specSelectors.validOperationMethods()\n    const OperationContainer = getComponent(\"OperationContainer\", true)\n    const OperationTag = getComponent(\"OperationTag\")\n    const operations = tagObj.get(\"operations\")\n    return (\n      <OperationTag\n        key={\"operation-\" + tag}\n        tagObj={tagObj}\n        tag={tag}\n        oas3Selectors={oas3Selectors}\n        layoutSelectors={layoutSelectors}\n        layoutActions={layoutActions}\n        getConfigs={getConfigs}\n        getComponent={getComponent}\n        specUrl={specSelectors.url()}>\n        <div className=\"operation-tag-content\">\n          {\n            operations.map(op => {\n              const path = op.get(\"path\")\n              const method = op.get(\"method\")\n              const specPath = Im.List([\"paths\", path, method])\n\n              if (validOperationMethods.indexOf(method) === -1) {\n                return null\n              }\n\n              return (\n                <OperationContainer\n                  key={`${path}-${method}`}\n                  specPath={specPath}\n                  op={op}\n                  path={path}\n                  method={method}\n                  tag={tag} />\n              )\n            }).toArray()\n          }\n        </div>\n      </OperationTag>\n    )\n  }\n\n}\n\nOperations.propTypes = {\n  layoutActions: PropTypes.object.isRequired,\n  specSelectors: PropTypes.object.isRequired,\n  specActions: PropTypes.object.isRequired,\n  layoutSelectors: PropTypes.object.isRequired,\n  getComponent: PropTypes.func.isRequired,\n  fn: PropTypes.object.isRequired\n}\n","export function isAbsoluteUrl(url) {\n  return url.match(/^(?:[a-z]+:)?\\/\\//i) // Matches http://, HTTP://, https://, ftp://, //example.com,\n}\n\nexport function addProtocol(url) {\n  if (!url.match(/^\\/\\//i)) return url // Checks if protocol is missing e.g. //example.com\n\n  return `${window.location.protocol}${url}`\n}\n\nexport function buildBaseUrl(selectedServer, specUrl) {\n  if (!selectedServer) return specUrl\n  if (isAbsoluteUrl(selectedServer)) return addProtocol(selectedServer)\n\n  return new URL(selectedServer, specUrl).href\n}\n\nexport function buildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n  if (!url) return undefined\n  if (isAbsoluteUrl(url)) return url\n\n  const baseUrl = buildBaseUrl(selectedServer, specUrl)\n  if (!isAbsoluteUrl(baseUrl)) {\n    return new URL(url, window.location.href).href\n  }\n  return new URL(url, baseUrl).href\n}\n\n/**\n * Safe version of buildUrl function. `selectedServer` can contain server variables\n * which can fail the URL resolution.\n */\nexport function safeBuildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n  try {\n    return buildUrl(url, specUrl, { selectedServer })\n  } catch {\n    return undefined\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\nimport { createDeepLinkPath, escapeDeepLinkPath, sanitizeUrl } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { isFunc } from \"core/utils\"\n\nexport default class OperationTag extends React.Component {\n\n  static defaultProps = {\n    tagObj: Im.fromJS({}),\n    tag: \"\",\n  }\n\n  static propTypes = {\n    tagObj: ImPropTypes.map.isRequired,\n    tag: PropTypes.string.isRequired,\n\n    oas3Selectors: PropTypes.func.isRequired,\n    layoutSelectors: PropTypes.object.isRequired,\n    layoutActions: PropTypes.object.isRequired,\n\n    getConfigs: PropTypes.func.isRequired,\n    getComponent: PropTypes.func.isRequired,\n\n    specUrl: PropTypes.string.isRequired,\n\n    children: PropTypes.element,\n  }\n\n  render() {\n    const {\n      tagObj,\n      tag,\n      children,\n      oas3Selectors,\n      layoutSelectors,\n      layoutActions,\n      getConfigs,\n      getComponent,\n      specUrl,\n    } = this.props\n\n    let {\n      docExpansion,\n      deepLinking,\n    } = getConfigs()\n\n    const Collapse = getComponent(\"Collapse\")\n    const Markdown = getComponent(\"Markdown\", true)\n    const DeepLink = getComponent(\"DeepLink\")\n    const Link = getComponent(\"Link\")\n    const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n    const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n    let tagDescription = tagObj.getIn([\"tagDetails\", \"description\"], null)\n    let tagExternalDocsDescription = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"description\"])\n    let rawTagExternalDocsUrl = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"url\"])\n    let tagExternalDocsUrl\n    if (isFunc(oas3Selectors) && isFunc(oas3Selectors.selectedServer)) {\n      tagExternalDocsUrl = safeBuildUrl(rawTagExternalDocsUrl, specUrl, { selectedServer: oas3Selectors.selectedServer() })\n    } else {\n      tagExternalDocsUrl = rawTagExternalDocsUrl\n    }\n\n    let isShownKey = [\"operations-tag\", tag]\n    let showTag = layoutSelectors.isShown(isShownKey, docExpansion === \"full\" || docExpansion === \"list\")\n\n    return (\n      <div className={showTag ? \"opblock-tag-section is-open\" : \"opblock-tag-section\"} >\n\n        <h3\n          onClick={() => layoutActions.show(isShownKey, !showTag)}\n          className={!tagDescription ? \"opblock-tag no-desc\" : \"opblock-tag\"}\n          id={isShownKey.map(v => escapeDeepLinkPath(v)).join(\"-\")}\n          data-tag={tag}\n          data-is-open={showTag}\n        >\n          <DeepLink\n            enabled={deepLinking}\n            isShown={showTag}\n            path={createDeepLinkPath(tag)}\n            text={tag} />\n          {!tagDescription ? <small></small> :\n            <small>\n              <Markdown source={tagDescription} />\n            </small>\n          }\n\n          {!tagExternalDocsUrl ? null :\n            <div className=\"info__externaldocs\">\n              <small>\n                <Link\n                    href={sanitizeUrl(tagExternalDocsUrl)}\n                    onClick={(e) => e.stopPropagation()}\n                    target=\"_blank\"\n                  >{tagExternalDocsDescription || tagExternalDocsUrl}</Link>\n              </small>\n            </div>\n          }\n\n\n          <button\n            aria-expanded={showTag}\n            className=\"expand-operation\"\n            title={showTag ? \"Collapse operation\" : \"Expand operation\"}\n            onClick={() => layoutActions.show(isShownKey, !showTag)}>\n\n            {showTag ? <ArrowUpIcon className=\"arrow\" /> : <ArrowDownIcon className=\"arrow\" />}\n          </button>\n        </h3>\n\n        <Collapse isOpened={showTag}>\n          {children}\n        </Collapse>\n      </div>\n    )\n  }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getList } from \"core/utils\"\nimport { getExtensions, sanitizeUrl, escapeDeepLinkPath } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nimport RollingLoadSVG from \"core/assets/rolling-load.svg\"\n\nexport default class Operation extends PureComponent {\n  static propTypes = {\n    specPath: ImPropTypes.list.isRequired,\n    operation: PropTypes.instanceOf(Iterable).isRequired,\n    summary: PropTypes.string,\n    response: PropTypes.instanceOf(Iterable),\n    request: PropTypes.instanceOf(Iterable),\n\n    toggleShown: PropTypes.func.isRequired,\n    onTryoutClick: PropTypes.func.isRequired,\n    onResetClick: PropTypes.func.isRequired,\n    onCancelClick: PropTypes.func.isRequired,\n    onExecute: PropTypes.func.isRequired,\n\n    getComponent: PropTypes.func.isRequired,\n    getConfigs: PropTypes.func.isRequired,\n    authActions: PropTypes.object,\n    authSelectors: PropTypes.object,\n    specActions: PropTypes.object.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    oas3Actions: PropTypes.object.isRequired,\n    oas3Selectors: PropTypes.object.isRequired,\n    layoutActions: PropTypes.object.isRequired,\n    layoutSelectors: PropTypes.object.isRequired,\n    fn: PropTypes.object.isRequired\n  }\n\n  static defaultProps = {\n    operation: null,\n    response: null,\n    request: null,\n    specPath: List(),\n    summary: \"\"\n  }\n\n  render() {\n    let {\n      specPath,\n      response,\n      request,\n      toggleShown,\n      onTryoutClick,\n      onResetClick,\n      onCancelClick,\n      onExecute,\n      fn,\n      getComponent,\n      getConfigs,\n      specActions,\n      specSelectors,\n      authActions,\n      authSelectors,\n      oas3Actions,\n      oas3Selectors\n    } = this.props\n    let operationProps = this.props.operation\n\n    let {\n      deprecated,\n      isShown,\n      path,\n      method,\n      op,\n      tag,\n      operationId,\n      allowTryItOut,\n      displayRequestDuration,\n      tryItOutEnabled,\n      executeInProgress\n    } = operationProps.toJS()\n\n    let {\n      description,\n      externalDocs,\n      schemes\n    } = op\n\n    const externalDocsUrl = externalDocs ? safeBuildUrl(externalDocs.url, specSelectors.url(), { selectedServer: oas3Selectors.selectedServer() }) : \"\"\n    let operation = operationProps.getIn([\"op\"])\n    let responses = operation.get(\"responses\")\n    let parameters = getList(operation, [\"parameters\"])\n    let operationScheme = specSelectors.operationScheme(path, method)\n    let isShownKey = [\"operations\", tag, operationId]\n    let extensions = getExtensions(operation)\n\n    const Responses = getComponent(\"responses\")\n    const Parameters = getComponent( \"parameters\" )\n    const Execute = getComponent( \"execute\" )\n    const Clear = getComponent( \"clear\" )\n    const Collapse = getComponent( \"Collapse\" )\n    const Markdown = getComponent(\"Markdown\", true)\n    const Schemes = getComponent( \"schemes\" )\n    const OperationServers = getComponent( \"OperationServers\" )\n    const OperationExt = getComponent( \"OperationExt\" )\n    const OperationSummary = getComponent( \"OperationSummary\" )\n    const Link = getComponent( \"Link\" )\n\n    const { showExtensions } = getConfigs()\n\n    // Merge in Live Response\n    if(responses && response && response.size > 0) {\n      let notDocumented = !responses.get(String(response.get(\"status\"))) && !responses.get(\"default\")\n      response = response.set(\"notDocumented\", notDocumented)\n    }\n\n    let onChangeKey = [ path, method ] // Used to add values to _this_ operation ( indexed by path and method )\n\n    const validationErrors = specSelectors.validationErrors([path, method])\n\n    return (\n        <div className={deprecated ? \"opblock opblock-deprecated\" : isShown ? `opblock opblock-${method} is-open` : `opblock opblock-${method}`} id={escapeDeepLinkPath(isShownKey.join(\"-\"))} >\n          <OperationSummary operationProps={operationProps} isShown={isShown} toggleShown={toggleShown} getComponent={getComponent} authActions={authActions} authSelectors={authSelectors} specPath={specPath} />\n          <Collapse isOpened={isShown}>\n            <div className=\"opblock-body\">\n              { (operation && operation.size) || operation === null ? null :\n                <RollingLoadSVG height=\"32px\" width=\"32px\" className=\"opblock-loading-animation\" />\n              }\n              { deprecated && <h4 className=\"opblock-title_normal\"> Warning: Deprecated</h4>}\n              { description &&\n                <div className=\"opblock-description-wrapper\">\n                  <div className=\"opblock-description\">\n                    <Markdown source={ description } />\n                  </div>\n                </div>\n              }\n              {\n                externalDocsUrl ?\n                <div className=\"opblock-external-docs-wrapper\">\n                  <h4 className=\"opblock-title_normal\">Find more details</h4>\n                  <div className=\"opblock-external-docs\">\n                    {externalDocs.description &&\n                      <span className=\"opblock-external-docs__description\">\n                        <Markdown source={ externalDocs.description } />\n                      </span>\n                    }\n                    <Link target=\"_blank\" className=\"opblock-external-docs__link\" href={sanitizeUrl(externalDocsUrl)}>{externalDocsUrl}</Link>\n                  </div>\n                </div> : null\n              }\n\n              { !operation || !operation.size ? null :\n                <Parameters\n                  parameters={parameters}\n                  specPath={specPath.push(\"parameters\")}\n                  operation={operation}\n                  onChangeKey={onChangeKey}\n                  onTryoutClick = { onTryoutClick }\n                  onResetClick = { onResetClick }\n                  onCancelClick = { onCancelClick }\n                  tryItOutEnabled = { tryItOutEnabled }\n                  allowTryItOut={allowTryItOut}\n\n                  fn={fn}\n                  getComponent={ getComponent }\n                  specActions={ specActions }\n                  specSelectors={ specSelectors }\n                  pathMethod={ [path, method] }\n                  getConfigs={ getConfigs }\n                  oas3Actions={ oas3Actions }\n                  oas3Selectors={ oas3Selectors }\n                />\n              }\n\n              { !tryItOutEnabled ? null :\n                <OperationServers\n                  getComponent={getComponent}\n                  path={path}\n                  method={method}\n                  operationServers={operation.get(\"servers\")}\n                  pathServers={specSelectors.paths().getIn([path, \"servers\"])}\n                  getSelectedServer={oas3Selectors.selectedServer}\n                  setSelectedServer={oas3Actions.setSelectedServer}\n                  setServerVariableValue={oas3Actions.setServerVariableValue}\n                  getServerVariable={oas3Selectors.serverVariableValue}\n                  getEffectiveServerValue={oas3Selectors.serverEffectiveValue}\n                />\n              }\n\n              {!tryItOutEnabled || !allowTryItOut ? null : schemes && schemes.size ? <div className=\"opblock-schemes\">\n                    <Schemes schemes={ schemes }\n                             path={ path }\n                             method={ method }\n                             specActions={ specActions }\n                             currentScheme={ operationScheme } />\n                  </div> : null\n              }\n\n              { !tryItOutEnabled || !allowTryItOut || validationErrors.length <= 0 ? null : <div className=\"validation-errors errors-wrapper\">\n                  Please correct the following validation errors and try again.\n                  <ul>\n                    { validationErrors.map((error, index) => <li key={index}> { error } </li>) }\n                  </ul>\n                </div>\n              }\n\n            <div className={(!tryItOutEnabled || !response || !allowTryItOut) ? \"execute-wrapper\" : \"btn-group\"}>\n              { !tryItOutEnabled || !allowTryItOut ? null :\n\n                  <Execute\n                    operation={ operation }\n                    specActions={ specActions }\n                    specSelectors={ specSelectors }\n                    oas3Selectors={ oas3Selectors }\n                    oas3Actions={ oas3Actions }\n                    path={ path }\n                    method={ method }\n                    onExecute={ onExecute }\n                    disabled={executeInProgress}/>\n              }\n\n              { (!tryItOutEnabled || !response || !allowTryItOut) ? null :\n                  <Clear\n                    specActions={ specActions }\n                    path={ path }\n                    method={ method }/>\n              }\n            </div>\n\n            {executeInProgress ? <div className=\"loading-container\"><div className=\"loading\"></div></div> : null}\n\n              { !responses ? null :\n                  <Responses\n                    responses={ responses }\n                    request={ request }\n                    tryItOutResponse={ response }\n                    getComponent={ getComponent }\n                    getConfigs={ getConfigs }\n                    specSelectors={ specSelectors }\n                    oas3Actions={oas3Actions}\n                    oas3Selectors={oas3Selectors}\n                    specActions={ specActions }\n                    produces={specSelectors.producesOptionsFor([path, method]) }\n                    producesValue={ specSelectors.currentProducesFor([path, method]) }\n                    specPath={specPath.push(\"responses\")}\n                    path={ path }\n                    method={ method }\n                    displayRequestDuration={ displayRequestDuration }\n                    fn={fn} />\n              }\n\n              { !showExtensions || !extensions.size ? null :\n                <OperationExt extensions={ extensions } getComponent={ getComponent } />\n              }\n            </div>\n          </Collapse>\n        </div>\n    )\n  }\n\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { opId } from \"swagger-client/es/helpers\"\nimport { Iterable, fromJS, Map } from \"immutable\"\n\nexport default class OperationContainer extends PureComponent {\n  constructor(props, context) {\n    super(props, context)\n\n    const { tryItOutEnabled } = props.getConfigs()\n\n    this.state = {\n      tryItOutEnabled,\n      executeInProgress: false\n    }\n  }\n\n  static propTypes = {\n    op: PropTypes.instanceOf(Iterable).isRequired,\n    tag: PropTypes.string.isRequired,\n    path: PropTypes.string.isRequired,\n    method: PropTypes.string.isRequired,\n    operationId: PropTypes.string.isRequired,\n    showSummary: PropTypes.bool.isRequired,\n    isShown: PropTypes.bool.isRequired,\n    jumpToKey: PropTypes.string.isRequired,\n    allowTryItOut: PropTypes.bool,\n    displayOperationId: PropTypes.bool,\n    isAuthorized: PropTypes.bool,\n    displayRequestDuration: PropTypes.bool,\n    response: PropTypes.instanceOf(Iterable),\n    request: PropTypes.instanceOf(Iterable),\n    security: PropTypes.instanceOf(Iterable),\n    isDeepLinkingEnabled: PropTypes.bool.isRequired,\n    specPath: ImPropTypes.list.isRequired,\n    getComponent: PropTypes.func.isRequired,\n    authActions: PropTypes.object,\n    oas3Actions: PropTypes.object,\n    oas3Selectors: PropTypes.object,\n    authSelectors: PropTypes.object,\n    specActions: PropTypes.object.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    layoutActions: PropTypes.object.isRequired,\n    layoutSelectors: PropTypes.object.isRequired,\n    fn: PropTypes.object.isRequired,\n    getConfigs: PropTypes.func.isRequired\n  }\n\n  static defaultProps = {\n    showSummary: true,\n    response: null,\n    allowTryItOut: true,\n    displayOperationId: false,\n    displayRequestDuration: false\n  }\n\n  mapStateToProps(nextState, props) {\n    const { op, layoutSelectors, getConfigs } = props\n    const { docExpansion, deepLinking, displayOperationId, displayRequestDuration, supportedSubmitMethods } = getConfigs()\n    const showSummary = layoutSelectors.showSummary()\n    const operationId = op.getIn([\"operation\", \"__originalOperationId\"]) || op.getIn([\"operation\", \"operationId\"]) || opId(op.get(\"operation\"), props.path, props.method) || op.get(\"id\")\n    const isShownKey = [\"operations\", props.tag, operationId]\n    const allowTryItOut = supportedSubmitMethods.indexOf(props.method) >= 0 && (typeof props.allowTryItOut === \"undefined\" ?\n      props.specSelectors.allowTryItOutFor(props.path, props.method) : props.allowTryItOut)\n    const security = op.getIn([\"operation\", \"security\"]) || props.specSelectors.security()\n\n    return {\n      operationId,\n      isDeepLinkingEnabled: deepLinking,\n      showSummary,\n      displayOperationId,\n      displayRequestDuration,\n      allowTryItOut,\n      security,\n      isAuthorized: props.authSelectors.isAuthorized(security),\n      isShown: layoutSelectors.isShown(isShownKey, docExpansion === \"full\" ),\n      jumpToKey: `paths.${props.path}.${props.method}`,\n      response: props.specSelectors.responseFor(props.path, props.method),\n      request: props.specSelectors.requestFor(props.path, props.method)\n    }\n  }\n\n  componentDidMount() {\n    const { isShown } = this.props\n    const resolvedSubtree = this.getResolvedSubtree()\n\n    if(isShown && resolvedSubtree === undefined) {\n      this.requestResolvedSubtree()\n    }\n  }\n\n  UNSAFE_componentWillReceiveProps(nextProps) {\n    const { response, isShown } = nextProps\n    const resolvedSubtree = this.getResolvedSubtree()\n\n    if(response !== this.props.response) {\n      this.setState({ executeInProgress: false })\n    }\n\n    if(isShown && resolvedSubtree === undefined) {\n      this.requestResolvedSubtree()\n    }\n  }\n\n  toggleShown =() => {\n    let { layoutActions, tag, operationId, isShown } = this.props\n    const resolvedSubtree = this.getResolvedSubtree()\n    if(!isShown && resolvedSubtree === undefined) {\n      // transitioning from collapsed to expanded\n      this.requestResolvedSubtree()\n    }\n    layoutActions.show([\"operations\", tag, operationId], !isShown)\n  }\n\n  onCancelClick=() => {\n    this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n  }\n\n  onTryoutClick =() => {\n    this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n  }\n\n  onResetClick = (pathMethod) => {\n    const defaultRequestBodyValue = this.props.oas3Selectors.selectDefaultRequestBodyValue(...pathMethod)\n    this.props.oas3Actions.setRequestBodyValue({ value: defaultRequestBodyValue, pathMethod })\n  }\n\n  onExecute = () => {\n    this.setState({ executeInProgress: true })\n  }\n\n  getResolvedSubtree = () => {\n    const {\n      specSelectors,\n      path,\n      method,\n      specPath\n    } = this.props\n\n    if(specPath) {\n      return specSelectors.specResolvedSubtree(specPath.toJS())\n    }\n\n    return specSelectors.specResolvedSubtree([\"paths\", path, method])\n  }\n\n  requestResolvedSubtree = () => {\n    const {\n      specActions,\n      path,\n      method,\n      specPath\n    } = this.props\n\n\n    if(specPath) {\n      return specActions.requestResolvedSubtree(specPath.toJS())\n    }\n\n    return specActions.requestResolvedSubtree([\"paths\", path, method])\n  }\n\n  render() {\n    let {\n      op: unresolvedOp,\n      tag,\n      path,\n      method,\n      security,\n      isAuthorized,\n      operationId,\n      showSummary,\n      isShown,\n      jumpToKey,\n      allowTryItOut,\n      response,\n      request,\n      displayOperationId,\n      displayRequestDuration,\n      isDeepLinkingEnabled,\n      specPath,\n      specSelectors,\n      specActions,\n      getComponent,\n      getConfigs,\n      layoutSelectors,\n      layoutActions,\n      authActions,\n      authSelectors,\n      oas3Actions,\n      oas3Selectors,\n      fn\n    } = this.props\n\n    const Operation = getComponent( \"operation\" )\n\n    const resolvedSubtree = this.getResolvedSubtree() || Map()\n\n    const operationProps = fromJS({\n      op: resolvedSubtree,\n      tag,\n      path,\n      summary: unresolvedOp.getIn([\"operation\", \"summary\"]) || \"\",\n      deprecated: resolvedSubtree.get(\"deprecated\") || unresolvedOp.getIn([\"operation\", \"deprecated\"]) || false,\n      method,\n      security,\n      isAuthorized,\n      operationId,\n      originalOperationId: resolvedSubtree.getIn([\"operation\", \"__originalOperationId\"]),\n      showSummary,\n      isShown,\n      jumpToKey,\n      allowTryItOut,\n      request,\n      displayOperationId,\n      displayRequestDuration,\n      isDeepLinkingEnabled,\n      executeInProgress: this.state.executeInProgress,\n      tryItOutEnabled: this.state.tryItOutEnabled\n    })\n\n    return (\n      <Operation\n        operation={operationProps}\n        response={response}\n        request={request}\n        isShown={isShown}\n\n        toggleShown={this.toggleShown}\n        onTryoutClick={this.onTryoutClick}\n        onResetClick={this.onResetClick}\n        onCancelClick={this.onCancelClick}\n        onExecute={this.onExecute}\n        specPath={specPath}\n\n        specActions={ specActions }\n        specSelectors={ specSelectors }\n        oas3Actions={oas3Actions}\n        oas3Selectors={oas3Selectors}\n        layoutActions={ layoutActions }\n        layoutSelectors={ layoutSelectors }\n        authActions={ authActions }\n        authSelectors={ authSelectors }\n        getComponent={ getComponent }\n        getConfigs={ getConfigs }\n        fn={fn}\n      />\n    )\n  }\n\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/toString\");","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport toString from \"lodash/toString\"\n\n\nexport default class OperationSummary extends PureComponent {\n\n  static propTypes = {\n    specPath: ImPropTypes.list.isRequired,\n    operationProps: PropTypes.instanceOf(Iterable).isRequired,\n    isShown: PropTypes.bool.isRequired,\n    toggleShown: PropTypes.func.isRequired,\n    getComponent: PropTypes.func.isRequired,\n    getConfigs: PropTypes.func.isRequired,\n    authActions: PropTypes.object,\n    authSelectors: PropTypes.object,\n  }\n\n  static defaultProps = {\n    operationProps: null,\n    specPath: List(),\n    summary: \"\"\n  }\n\n  render() {\n\n    let {\n      isShown,\n      toggleShown,\n      getComponent,\n      authActions,\n      authSelectors,\n      operationProps,\n      specPath,\n    } = this.props\n\n    let {\n      summary,\n      isAuthorized,\n      method,\n      op,\n      showSummary,\n      path,\n      operationId,\n      originalOperationId,\n      displayOperationId,\n    } = operationProps.toJS()\n\n    let {\n      summary: resolvedSummary,\n    } = op\n\n    let security = operationProps.get(\"security\")\n\n    const AuthorizeOperationBtn = getComponent(\"authorizeOperationBtn\", true)\n    const OperationSummaryMethod = getComponent(\"OperationSummaryMethod\")\n    const OperationSummaryPath = getComponent(\"OperationSummaryPath\")\n    const JumpToPath = getComponent(\"JumpToPath\", true)\n    const CopyToClipboardBtn = getComponent(\"CopyToClipboardBtn\", true)\n    const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n    const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n    const hasSecurity = security && !!security.count()\n    const securityIsOptional = hasSecurity && security.size === 1 && security.first().isEmpty()\n    const allowAnonymous = !hasSecurity || securityIsOptional\n    return (\n      <div className={`opblock-summary opblock-summary-${method}`} >\n        <button\n          aria-expanded={isShown}\n          className=\"opblock-summary-control\"\n          onClick={toggleShown}\n        >\n          <OperationSummaryMethod method={method} />\n          <div className=\"opblock-summary-path-description-wrapper\">\n            <OperationSummaryPath getComponent={getComponent} operationProps={operationProps} specPath={specPath} />\n\n            {!showSummary ? null :\n              <div className=\"opblock-summary-description\">\n                {toString(resolvedSummary || summary)}\n              </div>\n            }\n          </div>\n\n          {displayOperationId && (originalOperationId || operationId) ? <span className=\"opblock-summary-operation-id\">{originalOperationId || operationId}</span> : null}\n        </button>\n        <CopyToClipboardBtn textToCopy={`${specPath.get(1)}`} />\n        {\n          allowAnonymous ? null :\n            <AuthorizeOperationBtn\n              isAuthorized={isAuthorized}\n              onClick={() => {\n                const applicableDefinitions = authSelectors.definitionsForRequirements(security)\n                authActions.showDefinitions(applicableDefinitions)\n              }}\n            />\n        }\n        <JumpToPath path={specPath} />{/* TODO: use wrapComponents here, swagger-ui doesn't care about jumpToPath */}\n        <button\n          aria-label={`${method} ${path.replace(/\\//g, \"\\u200b/\")}`}\n          className=\"opblock-control-arrow\"\n          aria-expanded={isShown}\n          tabIndex=\"-1\"\n          onClick={toggleShown}>\n          {isShown ? <ArrowUpIcon className=\"arrow\" /> : <ArrowDownIcon className=\"arrow\" />}\n        </button>\n      </div>\n    )\n  }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\n\nexport default class OperationSummaryMethod extends PureComponent {\n\n  static propTypes = {\n    operationProps: PropTypes.instanceOf(Iterable).isRequired,\n    method: PropTypes.string.isRequired,\n  }\n\n  static defaultProps = {\n    operationProps: null,\n  }\n  render() {\n\n    let {\n      method,\n    } = this.props\n\n    return (\n      <span className=\"opblock-summary-method\">{method.toUpperCase()}</span>\n    )\n  }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\nimport { createDeepLinkPath } from \"core/utils\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class OperationSummaryPath extends PureComponent{\n\n  static propTypes = {\n    specPath: ImPropTypes.list.isRequired,\n    operationProps: PropTypes.instanceOf(Iterable).isRequired,\n    getComponent: PropTypes.func.isRequired,\n  }\n\n  render(){\n    let {\n      getComponent,\n      operationProps,\n    } = this.props\n\n\n    let {\n      deprecated,\n      isShown,\n      path,\n      tag,\n      operationId,\n      isDeepLinkingEnabled,\n    } = operationProps.toJS()\n\n    /**\n     * Add <wbr> word-break elements between each segment, before the slash\n     * to allow browsers an opportunity to break long paths into sensible segments.\n     */\n    const pathParts = path.split(/(?=\\/)/g)\n    for (let i = 1; i < pathParts.length; i += 2) {\n      pathParts.splice(i, 0, <wbr key={i} />)\n    }\n\n    const DeepLink = getComponent( \"DeepLink\" )\n\n    return(\n      <span className={ deprecated ? \"opblock-summary-path__deprecated\" : \"opblock-summary-path\" }\n        data-path={path}>\n        <DeepLink\n            enabled={isDeepLinkingEnabled}\n            isShown={isShown}\n            path={createDeepLinkPath(`${tag}/${operationId}`)}\n            text={pathParts} />\n      </span>\n\n    )\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExt = ({ extensions, getComponent }) => {\n    let OperationExtRow = getComponent(\"OperationExtRow\")\n    return (\n      <div className=\"opblock-section\">\n        <div className=\"opblock-section-header\">\n          <h4>Extensions</h4>\n        </div>\n        <div className=\"table-container\">\n\n          <table>\n            <thead>\n              <tr>\n                <td className=\"col_header\">Field</td>\n                <td className=\"col_header\">Value</td>\n              </tr>\n            </thead>\n            <tbody>\n                {\n                    extensions.entrySeq().map(([k, v]) => <OperationExtRow key={`${k}-${v}`} xKey={k} xVal={v} />)\n                }\n            </tbody>\n          </table>\n        </div>\n      </div>\n    )\n}\nOperationExt.propTypes = {\n  extensions: PropTypes.object.isRequired,\n  getComponent: PropTypes.func.isRequired\n}\n\nexport default OperationExt\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExtRow = ({ xKey, xVal }) => {\n  const xNormalizedValue = !xVal ? null : xVal.toJS ? xVal.toJS() : xVal\n\n    return (<tr>\n        <td>{ xKey }</td>\n        <td>{ JSON.stringify(xNormalizedValue) }</td>\n    </tr>)\n}\nOperationExtRow.propTypes = {\n  xKey: PropTypes.string,\n  xVal: PropTypes.any\n}\n\nexport default OperationExtRow\n","/**\n * Replace invalid characters from a string to create an html-ready ID\n *\n * @param {string} id A string that may contain invalid characters for the HTML ID attribute\n * @param {string} [replacement=_] The string to replace invalid characters with; \"_\" by default\n * @return {string} Information about the parameter schema\n */\nexport default function createHtmlReadyId(id, replacement = \"_\") {\n  return id.replace(/[^\\w-]/g, replacement)\n}\n","import React from \"react\"\nimport { fromJS, Iterable } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { defaultStatusCode, getAcceptControllingResponse } from \"core/utils\"\nimport createHtmlReadyId from \"core/utils/create-html-ready-id\"\n\nexport default class Responses extends React.Component {\n  static propTypes = {\n    tryItOutResponse: PropTypes.instanceOf(Iterable),\n    responses: PropTypes.instanceOf(Iterable).isRequired,\n    produces: PropTypes.instanceOf(Iterable),\n    producesValue: PropTypes.any,\n    displayRequestDuration: PropTypes.bool.isRequired,\n    path: PropTypes.string.isRequired,\n    method: PropTypes.string.isRequired,\n    getComponent: PropTypes.func.isRequired,\n    getConfigs: PropTypes.func.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    specActions: PropTypes.object.isRequired,\n    oas3Actions: PropTypes.object.isRequired,\n    oas3Selectors: PropTypes.object.isRequired,\n    specPath: ImPropTypes.list.isRequired,\n    fn: PropTypes.object.isRequired\n  }\n\n  static defaultProps = {\n    tryItOutResponse: null,\n    produces: fromJS([\"application/json\"]),\n    displayRequestDuration: false\n  }\n\n  // These performance-enhancing checks were disabled as part of Multiple Examples\n  // because they were causing data-consistency issues\n  //\n  // shouldComponentUpdate(nextProps) {\n  //   // BUG: props.tryItOutResponse is always coming back as a new Immutable instance\n  //   let render = this.props.tryItOutResponse !== nextProps.tryItOutResponse\n  //   || this.props.responses !== nextProps.responses\n  //   || this.props.produces !== nextProps.produces\n  //   || this.props.producesValue !== nextProps.producesValue\n  //   || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n  //   || this.props.path !== nextProps.path\n  //   || this.props.method !== nextProps.method\n  //   return render\n  // }\n\n\tonChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n  onResponseContentTypeChange = ({ controlsAcceptHeader, value }) => {\n    const { oas3Actions, path, method } = this.props\n    if(controlsAcceptHeader) {\n      oas3Actions.setResponseContentType({\n        value,\n        path,\n        method\n      })\n    }\n  }\n\n  render() {\n    let {\n      responses,\n      tryItOutResponse,\n      getComponent,\n      getConfigs,\n      specSelectors,\n      fn,\n      producesValue,\n      displayRequestDuration,\n      specPath,\n      path,\n      method,\n      oas3Selectors,\n      oas3Actions,\n    } = this.props\n    let defaultCode = defaultStatusCode( responses )\n\n    const ContentType = getComponent( \"contentType\" )\n    const LiveResponse = getComponent( \"liveResponse\" )\n    const Response = getComponent( \"response\" )\n\n    let produces = this.props.produces && this.props.produces.size ? this.props.produces : Responses.defaultProps.produces\n\n    const isSpecOAS3 = specSelectors.isOAS3()\n\n    const acceptControllingResponse = isSpecOAS3 ?\n      getAcceptControllingResponse(responses) : null\n\n    const regionId = createHtmlReadyId(`${method}${path}_responses`)\n    const controlId = `${regionId}_select`\n\n    return (\n      <div className=\"responses-wrapper\">\n        <div className=\"opblock-section-header\">\n          <h4>Responses</h4>\n            { specSelectors.isOAS3() ? null : <label htmlFor={controlId}>\n              <span>Response content type</span>\n              <ContentType value={producesValue}\n                         ariaControls={regionId}\n                         ariaLabel=\"Response content type\"\n                         className=\"execute-content-type\"\n                         contentTypes={produces}\n                         controlId={controlId}\n                         onChange={this.onChangeProducesWrapper} />\n                     </label> }\n        </div>\n        <div className=\"responses-inner\">\n          {\n            !tryItOutResponse ? null\n                              : <div>\n                                  <LiveResponse response={ tryItOutResponse }\n                                                getComponent={ getComponent }\n                                                getConfigs={ getConfigs }\n                                                specSelectors={ specSelectors }\n                                                path={ this.props.path }\n                                                method={ this.props.method }\n                                                displayRequestDuration={ displayRequestDuration } />\n                                  <h4>Responses</h4>\n                                </div>\n\n          }\n\n          <table aria-live=\"polite\" className=\"responses-table\" id={regionId} role=\"region\">\n            <thead>\n              <tr className=\"responses-header\">\n                <td className=\"col_header response-col_status\">Code</td>\n                <td className=\"col_header response-col_description\">Description</td>\n                { specSelectors.isOAS3() ? <td className=\"col col_header response-col_links\">Links</td> : null }\n              </tr>\n            </thead>\n            <tbody>\n              {\n                responses.entrySeq().map( ([code, response]) => {\n\n                  let className = tryItOutResponse && tryItOutResponse.get(\"status\") == code ? \"response_current\" : \"\"\n                  return (\n                    <Response key={ code }\n                              path={path}\n                              method={method}\n                              specPath={specPath.push(code)}\n                              isDefault={defaultCode === code}\n                              fn={fn}\n                              className={ className }\n                              code={ code }\n                              response={ response }\n                              specSelectors={ specSelectors }\n                              controlsAcceptHeader={response === acceptControllingResponse}\n                              onContentTypeChange={this.onResponseContentTypeChange}\n                              contentType={ producesValue }\n                              getConfigs={ getConfigs }\n                              activeExamplesKey={oas3Selectors.activeExamplesMember(\n                                path,\n                                method,\n                                \"responses\",\n                                code\n                              )}\n                              oas3Actions={oas3Actions}\n                              getComponent={ getComponent }/>\n                    )\n                }).toArray()\n              }\n            </tbody>\n          </table>\n        </div>\n      </div>\n    )\n  }\n}\n","export function canJsonParse(str) {\n  try {\n    let testValueForJson = JSON.parse(str)\n    return testValueForJson ? true : false\n  } catch (e) {\n    // exception: string is not valid json\n    return null\n  }\n}\n\nexport function getKnownSyntaxHighlighterLanguage(val) {\n  // to start, only check for json. can expand as needed in future\n  const isValidJson = canJsonParse(val)\n  return isValidJson ? \"json\" : null\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport { fromJS, Seq, Iterable, List, Map } from \"immutable\"\nimport { getExtensions, fromJSOrdered, stringify } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\n\nconst getExampleComponent = ( sampleResponse, HighlightCode ) => {\n  if (sampleResponse == null) return null\n\n  const testValueForJson = getKnownSyntaxHighlighterLanguage(sampleResponse)\n  const language = testValueForJson ? \"json\" : null\n\n  return (\n    <div>\n      <HighlightCode className=\"example\" language={language}>{stringify(sampleResponse)}</HighlightCode>\n    </div>\n  )\n}\n\nexport default class Response extends React.Component {\n  constructor(props, context) {\n    super(props, context)\n\n    this.state = {\n      responseContentType: \"\",\n    }\n  }\n\n  static propTypes = {\n    path: PropTypes.string.isRequired,\n    method: PropTypes.string.isRequired,\n    code: PropTypes.string.isRequired,\n    response: PropTypes.instanceOf(Iterable),\n    className: PropTypes.string,\n    getComponent: PropTypes.func.isRequired,\n    getConfigs: PropTypes.func.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    oas3Actions: PropTypes.object.isRequired,\n    specPath: ImPropTypes.list.isRequired,\n    fn: PropTypes.object.isRequired,\n    contentType: PropTypes.string,\n    activeExamplesKey: PropTypes.string,\n    controlsAcceptHeader: PropTypes.bool,\n    onContentTypeChange: PropTypes.func\n  }\n\n  static defaultProps = {\n    response: fromJS({}),\n    onContentTypeChange: () => {}\n  }\n\n  _onContentTypeChange = (value) => {\n    const { onContentTypeChange, controlsAcceptHeader } = this.props\n    this.setState({ responseContentType: value })\n    onContentTypeChange({\n      value: value,\n      controlsAcceptHeader\n    })\n  }\n\n  getTargetExamplesKey = () => {\n    const { response, contentType, activeExamplesKey } = this.props\n\n    const activeContentType = this.state.responseContentType || contentType\n    const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n    const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n    const firstExamplesKey = examplesForMediaType.keySeq().first()\n    return activeExamplesKey || firstExamplesKey\n  }\n\n  render() {\n    let {\n      path,\n      method,\n      code,\n      response,\n      className,\n      specPath,\n      fn,\n      getComponent,\n      getConfigs,\n      specSelectors,\n      contentType,\n      controlsAcceptHeader,\n      oas3Actions,\n    } = this.props\n\n    let { inferSchema, getSampleSchema } = fn\n    let isOAS3 = specSelectors.isOAS3()\n    const { showExtensions } = getConfigs()\n\n    let extensions = showExtensions ? getExtensions(response) : null\n    let headers = response.get(\"headers\")\n    let links = response.get(\"links\")\n    const ResponseExtension = getComponent(\"ResponseExtension\")\n    const Headers = getComponent(\"headers\")\n    const HighlightCode = getComponent(\"HighlightCode\", true)\n    const ModelExample = getComponent(\"modelExample\")\n    const Markdown = getComponent(\"Markdown\", true)\n    const OperationLink = getComponent(\"operationLink\")\n    const ContentType = getComponent(\"contentType\")\n    const ExamplesSelect = getComponent(\"ExamplesSelect\")\n    const Example = getComponent(\"Example\")\n\n\n    var schema, specPathWithPossibleSchema\n\n    const activeContentType = this.state.responseContentType || contentType\n    const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n    const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n    // Goal: find a schema value for `schema`\n    if(isOAS3) {\n      const oas3SchemaForContentType = activeMediaType.get(\"schema\")\n\n      schema = oas3SchemaForContentType ? inferSchema(oas3SchemaForContentType.toJS()) : null\n      specPathWithPossibleSchema = oas3SchemaForContentType ? List([\"content\", this.state.responseContentType, \"schema\"]) : specPath\n    } else {\n      schema = response.get(\"schema\")\n      specPathWithPossibleSchema = response.has(\"schema\") ? specPath.push(\"schema\") : specPath\n    }\n\n    let mediaTypeExample\n    let shouldOverrideSchemaExample = false\n    let sampleSchema\n    let sampleGenConfig = {\n      includeReadOnly: true\n    }\n\n    // Goal: find an example value for `sampleResponse`\n    if(isOAS3) {\n      sampleSchema = activeMediaType.get(\"schema\")?.toJS()\n      if(Map.isMap(examplesForMediaType) && !examplesForMediaType.isEmpty()) {\n        const targetExamplesKey = this.getTargetExamplesKey()\n        const targetExample = examplesForMediaType\n          .get(targetExamplesKey, Map({}))\n        const getMediaTypeExample = (targetExample) =>\n          targetExample.get(\"value\")\n        mediaTypeExample = getMediaTypeExample(targetExample)\n        if(mediaTypeExample === undefined) {\n          mediaTypeExample = getMediaTypeExample(examplesForMediaType.values().next().value)\n        }\n        shouldOverrideSchemaExample = true\n      } else if(activeMediaType.get(\"example\") !== undefined) {\n        // use the example key's value\n        mediaTypeExample = activeMediaType.get(\"example\")\n        shouldOverrideSchemaExample = true\n      }\n    } else {\n      sampleSchema = schema\n      sampleGenConfig = {...sampleGenConfig, includeWriteOnly: true}\n      const oldOASMediaTypeExample = response.getIn([\"examples\", activeContentType])\n      if(oldOASMediaTypeExample) {\n        mediaTypeExample = oldOASMediaTypeExample\n        shouldOverrideSchemaExample = true\n      }\n    }\n\n    const sampleResponse = getSampleSchema(\n      sampleSchema,\n      activeContentType,\n      sampleGenConfig,\n      shouldOverrideSchemaExample ? mediaTypeExample : undefined\n    )\n\n    const example = getExampleComponent( sampleResponse, HighlightCode )\n\n    return (\n      <tr className={ \"response \" + ( className || \"\") } data-code={code}>\n        <td className=\"response-col_status\">\n          { code }\n        </td>\n        <td className=\"response-col_description\">\n\n          <div className=\"response-col_description__inner\">\n            <Markdown source={ response.get( \"description\" ) } />\n          </div>\n\n          { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => <ResponseExtension key={`${key}-${v}`} xKey={key} xVal={v} /> )}\n\n          {isOAS3 && response.get(\"content\") ? (\n            <section className=\"response-controls\">\n              <div\n                className={cx(\"response-control-media-type\", {\n                  \"response-control-media-type--accept-controller\": controlsAcceptHeader\n                })}\n              >\n                <small className=\"response-control-media-type__title\">\n                  Media type\n                </small>\n                <ContentType\n                  value={this.state.responseContentType}\n                  contentTypes={\n                    response.get(\"content\")\n                      ? response.get(\"content\").keySeq()\n                      : Seq()\n                  }\n                  onChange={this._onContentTypeChange}\n                  ariaLabel=\"Media Type\"\n                />\n                {controlsAcceptHeader ? (\n                  <small className=\"response-control-media-type__accept-message\">\n                    Controls <code>Accept</code> header.\n                  </small>\n                ) : null}\n              </div>\n              {Map.isMap(examplesForMediaType) && !examplesForMediaType.isEmpty() ? (\n                <div className=\"response-control-examples\">\n                  <small className=\"response-control-examples__title\">\n                    Examples\n                  </small>\n                  <ExamplesSelect\n                    examples={examplesForMediaType}\n                    currentExampleKey={this.getTargetExamplesKey()}\n                    onSelect={key =>\n                      oas3Actions.setActiveExamplesMember({\n                        name: key,\n                        pathMethod: [path, method],\n                        contextType: \"responses\",\n                        contextName: code\n                      })\n                    }\n                    showLabels={false}\n                  />\n                </div>\n              ) : null}\n            </section>\n          ) : null}\n\n          { example || schema ? (\n            <ModelExample\n              specPath={specPathWithPossibleSchema}\n              getComponent={ getComponent }\n              getConfigs={ getConfigs }\n              specSelectors={ specSelectors }\n              schema={ fromJSOrdered(schema) }\n              example={ example }\n              includeReadOnly={ true }/>\n          ) : null }\n\n          { isOAS3 && examplesForMediaType ? (\n              <Example\n                example={examplesForMediaType.get(this.getTargetExamplesKey(), Map({}))}\n                getComponent={getComponent}\n                getConfigs={getConfigs}\n                omitValue={true}\n              />\n          ) : null}\n\n          { headers ? (\n            <Headers\n              headers={ headers }\n              getComponent={ getComponent }\n            />\n          ) : null}\n\n        </td>\n        {isOAS3 ? <td className=\"response-col_links\">\n          { links ?\n            links.toSeq().entrySeq().map(([key, link]) => {\n              return <OperationLink key={key} name={key} link={ link } getComponent={getComponent}/>\n            })\n          : <i>No links</i>}\n        </td> : null}\n      </tr>\n    )\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ResponseExtension = ({ xKey, xVal }) => {\n    return <div className=\"response__extension\">{ xKey }: { String(xVal) }</div>\n}\nResponseExtension.propTypes = {\n  xKey: PropTypes.string,\n  xVal: PropTypes.any\n}\n\nexport default ResponseExtension\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"xml-but-prettier\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/toLower\");","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport formatXml from \"xml-but-prettier\"\nimport toLower from \"lodash/toLower\"\nimport { extractFileNameFromContentDispositionHeader } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\nimport win from \"core/window\"\n\nexport default class ResponseBody extends React.PureComponent {\n  state = {\n    parsedContent: null\n  }\n\n  static propTypes = {\n    content: PropTypes.any.isRequired,\n    contentType: PropTypes.string,\n    getComponent: PropTypes.func.isRequired,\n    headers: PropTypes.object,\n    url: PropTypes.string\n  }\n\n  updateParsedContent = (prevContent) => {\n    const { content } = this.props\n\n    if(prevContent === content) {\n      return\n    }\n\n    if(content && content instanceof Blob) {\n      var reader = new FileReader()\n      reader.onload = () => {\n        this.setState({\n          parsedContent: reader.result\n        })\n      }\n      reader.readAsText(content)\n    } else {\n      this.setState({\n        parsedContent: content.toString()\n      })\n    }\n  }\n\n  componentDidMount() {\n    this.updateParsedContent(null)\n  }\n\n  componentDidUpdate(prevProps) {\n    this.updateParsedContent(prevProps.content)\n  }\n\n  render() {\n    let { content, contentType, url, headers={}, getComponent } = this.props\n    const { parsedContent } = this.state\n    const HighlightCode = getComponent(\"HighlightCode\", true)\n    const downloadName = \"response_\" + new Date().getTime()\n    let body, bodyEl\n    url = url || \"\"\n\n    if (\n      (/^application\\/octet-stream/i.test(contentType) ||\n        (headers[\"Content-Disposition\"] && /attachment/i.test(headers[\"Content-Disposition\"])) ||\n        (headers[\"content-disposition\"] && /attachment/i.test(headers[\"content-disposition\"])) ||\n        (headers[\"Content-Description\"] && /File Transfer/i.test(headers[\"Content-Description\"])) ||\n        (headers[\"content-description\"] && /File Transfer/i.test(headers[\"content-description\"]))) &&\n      (content.size > 0 || content.length > 0)\n    ) {\n      // Download\n\n      if (\"Blob\" in window) {\n        let type = contentType || \"text/html\"\n        let blob = (content instanceof Blob) ? content : new Blob([content], {type: type})\n        let href = window.URL.createObjectURL(blob)\n        let fileName = url.substr(url.lastIndexOf(\"/\") + 1)\n        let download = [type, fileName, href].join(\":\")\n\n        // Use filename from response header,\n        // First check if filename is quoted (e.g. contains space), if no, fallback to not quoted check\n        let disposition = headers[\"content-disposition\"] || headers[\"Content-Disposition\"]\n        if (typeof disposition !== \"undefined\") {\n          let responseFilename = extractFileNameFromContentDispositionHeader(disposition)\n          if (responseFilename !== null) {\n            download = responseFilename\n          }\n        }\n\n        if(win.navigator && win.navigator.msSaveOrOpenBlob) {\n            bodyEl = <div><a href={ href } onClick={() => win.navigator.msSaveOrOpenBlob(blob, download)}>{ \"Download file\" }</a></div>\n        } else {\n            bodyEl = <div><a href={ href } download={ download }>{ \"Download file\" }</a></div>\n        }\n      } else {\n        bodyEl = <pre className=\"microlight\">Download headers detected but your browser does not support downloading binary via XHR (Blob).</pre>\n      }\n\n      // Anything else (CORS)\n    } else if (/json/i.test(contentType)) {\n      // JSON\n      let language = null\n      let testValueForJson = getKnownSyntaxHighlighterLanguage(content)\n      if (testValueForJson) {\n        language = \"json\"\n      }\n      try {\n        body = JSON.stringify(JSON.parse(content), null, \"  \")\n      } catch (error) {\n        body = \"can't parse JSON.  Raw result:\\n\\n\" + content\n      }\n\n      bodyEl = <HighlightCode language={language} downloadable fileName={`${downloadName}.json`} canCopy>{body}</HighlightCode>\n\n      // XML\n    } else if (/xml/i.test(contentType)) {\n      body = formatXml(content, {\n        textNodesOnSameLine: true,\n        indentor: \"  \"\n      })\n      bodyEl = <HighlightCode downloadable fileName={`${downloadName}.xml`} canCopy>{body}</HighlightCode>\n\n      // HTML or Plain Text\n    } else if (toLower(contentType) === \"text/html\" || /text\\/plain/.test(contentType)) {\n      bodyEl = <HighlightCode downloadable fileName={`${downloadName}.html`} canCopy>{content}</HighlightCode>\n\n      // CSV\n    } else if (toLower(contentType) === \"text/csv\" || /text\\/csv/.test(contentType)) {\n      bodyEl = <HighlightCode downloadable fileName={`${downloadName}.csv`} canCopy>{content}</HighlightCode>\n\n      // Image\n    } else if (/^image\\//i.test(contentType)) {\n      if(contentType.includes(\"svg\")) {\n        bodyEl = <div> { content } </div>\n      } else {\n        bodyEl = <img src={ window.URL.createObjectURL(content) } />\n      }\n\n      // Audio\n    } else if (/^audio\\//i.test(contentType)) {\n      bodyEl = <pre className=\"microlight\"><audio controls key={ url }><source src={ url } type={ contentType } /></audio></pre>\n    } else if (typeof content === \"string\") {\n      bodyEl = <HighlightCode downloadable fileName={`${downloadName}.txt`} canCopy>{content}</HighlightCode>\n    } else if ( content.size > 0 ) {\n      // We don't know the contentType, but there was some content returned\n      if(parsedContent) {\n        // We were able to squeeze something out of content\n        // in `updateParsedContent`, so let's display it\n        bodyEl = <div>\n          <p className=\"i\">\n            Unrecognized response type; displaying content as text.\n          </p>\n          <HighlightCode downloadable fileName={`${downloadName}.txt`} canCopy>{parsedContent}</HighlightCode>\n        </div>\n\n      } else {\n        // Give up\n        bodyEl = <p className=\"i\">\n          Unrecognized response type; unable to display.\n        </p>\n      }\n    } else {\n      // We don't know the contentType and there was no content returned\n      bodyEl = null\n    }\n\n    return ( !bodyEl ? null : <div>\n        <h5>Response body</h5>\n        { bodyEl }\n      </div>\n    )\n  }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Map, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport createHtmlReadyId from \"core/utils/create-html-ready-id\"\n\nexport default class Parameters extends Component {\n\n  constructor(props) {\n    super(props)\n    this.state = {\n      callbackVisible: false,\n      parametersVisible: true,\n    }\n  }\n\n  static propTypes = {\n    parameters: ImPropTypes.list.isRequired,\n    operation: PropTypes.object.isRequired,\n    specActions: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    oas3Actions: PropTypes.object.isRequired,\n    oas3Selectors: PropTypes.object.isRequired,\n    fn: PropTypes.object.isRequired,\n    tryItOutEnabled: PropTypes.bool,\n    allowTryItOut: PropTypes.bool,\n    onTryoutClick: PropTypes.func,\n    onResetClick: PropTypes.func,\n    onCancelClick: PropTypes.func,\n    onChangeKey: PropTypes.array,\n    pathMethod: PropTypes.array.isRequired,\n    getConfigs: PropTypes.func.isRequired,\n    specPath: ImPropTypes.list.isRequired,\n  }\n\n\n  static defaultProps = {\n    onTryoutClick: Function.prototype,\n    onCancelClick: Function.prototype,\n    tryItOutEnabled: false,\n    allowTryItOut: true,\n    onChangeKey: [],\n    specPath: [],\n  }\n\n  onChange = (param, value, isXml) => {\n    let {\n      specActions: { changeParamByIdentity },\n      onChangeKey,\n    } = this.props\n\n    changeParamByIdentity(onChangeKey, param, value, isXml)\n  }\n\n  onChangeConsumesWrapper = (val) => {\n    let {\n      specActions: { changeConsumesValue },\n      onChangeKey,\n    } = this.props\n\n    changeConsumesValue(onChangeKey, val)\n  }\n\n  toggleTab = (tab) => {\n    if (tab === \"parameters\") {\n      return this.setState({\n        parametersVisible: true,\n        callbackVisible: false,\n      })\n    } else if (tab === \"callbacks\") {\n      return this.setState({\n        callbackVisible: true,\n        parametersVisible: false,\n      })\n    }\n  }\n  \n  onChangeMediaType = ({ value, pathMethod }) => {\n    let { specActions, oas3Selectors, oas3Actions } = this.props\n    const userHasEditedBody = oas3Selectors.hasUserEditedBody(...pathMethod)\n    const shouldRetainRequestBodyValue = oas3Selectors.shouldRetainRequestBodyValue(...pathMethod)\n    oas3Actions.setRequestContentType({ value, pathMethod })\n    oas3Actions.initRequestBodyValidateError({ pathMethod })\n    if (!userHasEditedBody) {\n      if(!shouldRetainRequestBodyValue) {\n        oas3Actions.setRequestBodyValue({ value: undefined, pathMethod })\n      }\n      specActions.clearResponse(...pathMethod)\n      specActions.clearRequest(...pathMethod)\n      specActions.clearValidateParams(pathMethod)\n    }\n  }\n\n  render() {\n\n    let {\n      onTryoutClick,\n      onResetClick,\n      parameters,\n      allowTryItOut,\n      tryItOutEnabled,\n      specPath,\n      fn,\n      getComponent,\n      getConfigs,\n      specSelectors,\n      specActions,\n      pathMethod,\n      oas3Actions,\n      oas3Selectors,\n      operation,\n    } = this.props\n\n    const ParameterRow = getComponent(\"parameterRow\")\n    const TryItOutButton = getComponent(\"TryItOutButton\")\n    const ContentType = getComponent(\"contentType\")\n    const Callbacks = getComponent(\"Callbacks\", true)\n    const RequestBody = getComponent(\"RequestBody\", true)\n\n    const isExecute = tryItOutEnabled && allowTryItOut\n    const isOAS3 = specSelectors.isOAS3()\n\n    const regionId = createHtmlReadyId(`${pathMethod[1]}${pathMethod[0]}_requests`)\n    const controlId = `${regionId}_select`\n\n    const requestBody = operation.get(\"requestBody\")\n\n    const groupedParametersArr = Object.values(parameters\n      .reduce((acc, x) => {\n        const key = x.get(\"in\")\n        acc[key] ??= []\n        acc[key].push(x)\n        return acc\n      }, {}))\n      .reduce((acc, x) => acc.concat(x), [])\n\n    const retainRequestBodyValueFlagForOperation = (f) => oas3Actions.setRetainRequestBodyValueFlag({ value: f, pathMethod })\n    return (\n      <div className=\"opblock-section\">\n        <div className=\"opblock-section-header\">\n          {isOAS3 ? (\n            <div className=\"tab-header\">\n              <div onClick={() => this.toggleTab(\"parameters\")}\n                   className={`tab-item ${this.state.parametersVisible && \"active\"}`}>\n                <h4 className=\"opblock-title\"><span>Parameters</span></h4>\n              </div>\n              {operation.get(\"callbacks\") ?\n                (\n                  <div onClick={() => this.toggleTab(\"callbacks\")}\n                       className={`tab-item ${this.state.callbackVisible && \"active\"}`}>\n                    <h4 className=\"opblock-title\"><span>Callbacks</span></h4>\n                  </div>\n                ) : null\n              }\n            </div>\n          ) : (\n            <div className=\"tab-header\">\n              <h4 className=\"opblock-title\">Parameters</h4>\n            </div>\n          )}\n          {allowTryItOut ? (\n            <TryItOutButton\n              isOAS3={specSelectors.isOAS3()}\n              hasUserEditedBody={oas3Selectors.hasUserEditedBody(...pathMethod)}\n              enabled={tryItOutEnabled}\n              onCancelClick={this.props.onCancelClick}\n              onTryoutClick={onTryoutClick}\n              onResetClick={() => onResetClick(pathMethod)}/>\n          ) : null}\n        </div>\n        {this.state.parametersVisible ? <div className=\"parameters-container\">\n          {!groupedParametersArr.length ? <div className=\"opblock-description-wrapper\"><p>No parameters</p></div> :\n            <div className=\"table-container\">\n              <table className=\"parameters\">\n                <thead>\n                <tr>\n                  <th className=\"col_header parameters-col_name\">Name</th>\n                  <th className=\"col_header parameters-col_description\">Description</th>\n                </tr>\n                </thead>\n                <tbody>\n                {\n                  groupedParametersArr.map((parameter, i) => (\n                    <ParameterRow\n                      fn={fn}\n                      specPath={specPath.push(i.toString())}\n                      getComponent={getComponent}\n                      getConfigs={getConfigs}\n                      rawParam={parameter}\n                      param={specSelectors.parameterWithMetaByIdentity(pathMethod, parameter)}\n                      key={`${parameter.get(\"in\")}.${parameter.get(\"name\")}`}\n                      onChange={this.onChange}\n                      onChangeConsumes={this.onChangeConsumesWrapper}\n                      specSelectors={specSelectors}\n                      specActions={specActions}\n                      oas3Actions={oas3Actions}\n                      oas3Selectors={oas3Selectors}\n                      pathMethod={pathMethod}\n                      isExecute={isExecute} />\n                  ))\n                }\n                </tbody>\n              </table>\n            </div>\n          }\n        </div> : null}\n\n        {this.state.callbackVisible ? <div className=\"callbacks-container opblock-description-wrapper\">\n          <Callbacks\n            callbacks={Map(operation.get(\"callbacks\"))}\n            specPath={specPath.slice(0, -1).push(\"callbacks\")}\n          />\n        </div> : null}\n        {\n          isOAS3 && requestBody && this.state.parametersVisible &&\n          <div className=\"opblock-section opblock-section-request-body\">\n            <div className=\"opblock-section-header\">\n              <h4 className={`opblock-title parameter__name ${requestBody.get(\"required\") && \"required\"}`}>Request\n                body</h4>\n              <label id={controlId}>\n                <ContentType\n                  value={oas3Selectors.requestContentType(...pathMethod)}\n                  contentTypes={requestBody.get(\"content\", List()).keySeq()}\n                  onChange={(value) => {\n                    this.onChangeMediaType({ value, pathMethod })\n                  }}\n                  className=\"body-param-content-type\"\n                  ariaLabel=\"Request content type\" \n                  controlId={controlId}\n                />\n              </label>\n            </div>\n            <div className=\"opblock-description-wrapper\">\n              <RequestBody\n                setRetainRequestBodyValueFlag={retainRequestBodyValueFlagForOperation}\n                userHasEditedBody={oas3Selectors.hasUserEditedBody(...pathMethod)}\n                specPath={specPath.slice(0, -1).push(\"requestBody\")}\n                requestBody={requestBody}\n                requestBodyValue={oas3Selectors.requestBodyValue(...pathMethod)}\n                requestBodyInclusionSetting={oas3Selectors.requestBodyInclusionSetting(...pathMethod)}\n                requestBodyErrors={oas3Selectors.requestBodyErrors(...pathMethod)}\n                isExecute={isExecute}\n                getConfigs={getConfigs}\n                activeExamplesKey={oas3Selectors.activeExamplesMember(\n                  ...pathMethod,\n                  \"requestBody\",\n                  \"requestBody\", // RBs are currently not stored per-mediaType\n                )}\n                updateActiveExamplesKey={key => {\n                  this.props.oas3Actions.setActiveExamplesMember({\n                    name: key,\n                    pathMethod: this.props.pathMethod,\n                    contextType: \"requestBody\",\n                    contextName: \"requestBody\", // RBs are currently not stored per-mediaType\n                  })\n                }\n                }\n                onChange={(value, path) => {\n                  if (path) {\n                    const lastValue = oas3Selectors.requestBodyValue(...pathMethod)\n                    const usableValue = Map.isMap(lastValue) ? lastValue : Map()\n                    return oas3Actions.setRequestBodyValue({\n                      pathMethod,\n                      value: usableValue.setIn(path, value),\n                    })\n                  }\n                  oas3Actions.setRequestBodyValue({ value, pathMethod })\n                }}\n                onChangeIncludeEmpty={(name, value) => {\n                  oas3Actions.setRequestBodyInclusion({\n                    pathMethod,\n                    value,\n                    name,\n                  })\n                }}\n                contentType={oas3Selectors.requestContentType(...pathMethod)} />\n            </div>\n          </div>\n        }\n      </div>\n    )\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ParameterExt = ({ xKey, xVal }) => {\n    return <div className=\"parameter__extension\">{ xKey }: { String(xVal) }</div>\n}\nParameterExt.propTypes = {\n  xKey: PropTypes.string,\n  xVal: PropTypes.any\n}\n\nexport default ParameterExt\n","import React, { Component } from \"react\"\nimport cx from \"classnames\"\nimport PropTypes from \"prop-types\"\n\n\nconst noop = () => { }\n\nconst ParameterIncludeEmptyPropTypes = {\n  isIncluded: PropTypes.bool.isRequired,\n  isDisabled: PropTypes.bool.isRequired,\n  isIncludedOptions: PropTypes.object,\n  onChange: PropTypes.func.isRequired,\n}\n\nconst ParameterIncludeEmptyDefaultProps = {\n  onChange: noop,\n  isIncludedOptions: {},\n}\nexport default class ParameterIncludeEmpty extends Component {\n  static propTypes = ParameterIncludeEmptyPropTypes\n  static defaultProps = ParameterIncludeEmptyDefaultProps\n\n  componentDidMount() {\n    const { isIncludedOptions, onChange } = this.props\n    const { shouldDispatchInit, defaultValue } = isIncludedOptions\n    if (shouldDispatchInit) {\n      onChange(defaultValue)\n    }\n  }\n\n  onCheckboxChange = e => {\n    const { onChange } = this.props\n    onChange(e.target.checked)\n  }\n\n  render() {\n    let { isIncluded, isDisabled } = this.props\n\n    return (\n      <div>\n        <label \n          htmlFor=\"include_empty_value\" \n          className={cx(\"parameter__empty_value_toggle\", {\n            \"disabled\": isDisabled\n          })}\n        >\n          <input \n            id=\"include_empty_value\"\n            type=\"checkbox\" \n            disabled={isDisabled}\n            checked={!isDisabled && isIncluded}\n            onChange={this.onCheckboxChange} \n          />\n          Send empty value\n        </label>\n      </div>\n    )\n  }\n}\n","import React, { Component } from \"react\"\nimport { Map, List, fromJS } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport win from \"core/window\"\nimport { getExtensions, getCommonExtensions, numberToString, stringify, isEmptyValue } from \"core/utils\"\nimport getParameterSchema from \"core/utils/get-parameter-schema.js\"\n\nexport default class ParameterRow extends Component {\n  static propTypes = {\n    onChange: PropTypes.func.isRequired,\n    param: PropTypes.object.isRequired,\n    rawParam: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired,\n    fn: PropTypes.object.isRequired,\n    isExecute: PropTypes.bool,\n    onChangeConsumes: PropTypes.func.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    specActions: PropTypes.object.isRequired,\n    pathMethod: PropTypes.array.isRequired,\n    getConfigs: PropTypes.func.isRequired,\n    specPath: ImPropTypes.list.isRequired,\n    oas3Actions: PropTypes.object.isRequired,\n    oas3Selectors: PropTypes.object.isRequired,\n  }\n\n  constructor(props, context) {\n    super(props, context)\n\n    this.setDefaultValue()\n  }\n\n  UNSAFE_componentWillReceiveProps(props) {\n    let { specSelectors, pathMethod, rawParam } = props\n    let isOAS3 = specSelectors.isOAS3()\n\n    let parameterWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || new Map()\n    // fallback, if the meta lookup fails\n    parameterWithMeta = parameterWithMeta.isEmpty() ? rawParam : parameterWithMeta\n\n    let enumValue\n\n    if(isOAS3) {\n      let { schema } = getParameterSchema(parameterWithMeta, { isOAS3 })\n      enumValue = schema ? schema.get(\"enum\") : undefined\n    } else {\n      enumValue = parameterWithMeta ? parameterWithMeta.get(\"enum\") : undefined\n    }\n    let paramValue = parameterWithMeta ? parameterWithMeta.get(\"value\") : undefined\n\n    let value\n\n    if ( paramValue !== undefined ) {\n      value = paramValue\n    } else if ( rawParam.get(\"required\") && enumValue && enumValue.size ) {\n      value = enumValue.first()\n    }\n\n    if ( value !== undefined && value !== paramValue ) {\n      this.onChangeWrapper(numberToString(value))\n    }\n    // todo: could check if schema here; if not, do not call. impact?\n    this.setDefaultValue()\n  }\n\n  onChangeWrapper = (value, isXml = false) => {\n    let { onChange, rawParam } = this.props\n    let valueForUpstream\n\n    // Coerce empty strings and empty Immutable objects to null\n    if(value === \"\" || (value && value.size === 0)) {\n      valueForUpstream = null\n    } else {\n      valueForUpstream = value\n    }\n\n    return onChange(rawParam, valueForUpstream, isXml)\n  }\n\n  _onExampleSelect = (key, /* { isSyntheticChange } = {} */) => {\n    this.props.oas3Actions.setActiveExamplesMember({\n      name: key,\n      pathMethod: this.props.pathMethod,\n      contextType: \"parameters\",\n      contextName: this.getParamKey()\n    })\n  }\n\n  onChangeIncludeEmpty = (newValue) => {\n    let { specActions, param, pathMethod } = this.props\n    const paramName = param.get(\"name\")\n    const paramIn = param.get(\"in\")\n    return specActions.updateEmptyParamInclusion(pathMethod, paramName, paramIn, newValue)\n  }\n\n  setDefaultValue = () => {\n    let { specSelectors, pathMethod, rawParam, oas3Selectors, fn } = this.props\n\n    const paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n    let { schema } = getParameterSchema(paramWithMeta, { isOAS3: specSelectors.isOAS3() })\n    const parameterMediaType = paramWithMeta\n      .get(\"content\", Map())\n      .keySeq()\n      .first()\n\n    // getSampleSchema could return null\n    const generatedSampleValue = schema ? fn.getSampleSchema(schema.toJS(), parameterMediaType, {\n\n      includeWriteOnly: true\n    }) : null\n\n    if (!paramWithMeta || paramWithMeta.get(\"value\") !== undefined) {\n      return\n    }\n\n    if( paramWithMeta.get(\"in\") !== \"body\" ) {\n      let initialValue\n\n      //// Find an initial value\n\n      if (specSelectors.isSwagger2()) {\n        initialValue =\n          paramWithMeta.get(\"x-example\") !== undefined\n          ? paramWithMeta.get(\"x-example\")\n          : paramWithMeta.getIn([\"schema\", \"example\"]) !== undefined\n          ? paramWithMeta.getIn([\"schema\", \"example\"])\n          : (schema && schema.getIn([\"default\"]))\n      } else if (specSelectors.isOAS3()) {\n        schema = this.composeJsonSchema(schema)\n\n        const currentExampleKey = oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())\n        initialValue =\n          paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"]) !== undefined\n          ? paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"])\n          : paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"]) !== undefined\n          ? paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"])\n          : paramWithMeta.get(\"example\") !== undefined\n          ? paramWithMeta.get(\"example\")\n          : (schema && schema.get(\"example\")) !== undefined\n          ? (schema && schema.get(\"example\"))\n          : (schema && schema.get(\"default\")) !== undefined\n          ? (schema && schema.get(\"default\"))\n          : paramWithMeta.get(\"default\") // ensures support for `parameterMacro`\n      }\n\n      //// Process the initial value\n\n      if(initialValue !== undefined && !List.isList(initialValue)) {\n        // Stringify if it isn't a List\n        initialValue = stringify(initialValue)\n      }\n\n      //// Dispatch the initial value\n\n      if(initialValue !== undefined) {\n        this.onChangeWrapper(initialValue)\n      } else if(\n        schema && schema.get(\"type\") === \"object\"\n        && generatedSampleValue\n        && !paramWithMeta.get(\"examples\")\n      ) {\n        // Object parameters get special treatment.. if the user doesn't set any\n        // default or example values, we'll provide initial values generated from\n        // the schema.\n        // However, if `examples` exist for the parameter, we won't do anything,\n        // so that the appropriate `examples` logic can take over.\n        this.onChangeWrapper(\n          List.isList(generatedSampleValue) ? (\n            generatedSampleValue\n          ) : (\n            stringify(generatedSampleValue)\n          )\n        )\n      }\n    }\n  }\n\n  getParamKey() {\n    const { param } = this.props\n\n    if(!param) return null\n\n    return `${param.get(\"name\")}-${param.get(\"in\")}`\n  }\n\n  composeJsonSchema(schema) {\n    const { fn } = this.props\n    const oneOf = schema.get(\"oneOf\")?.get(0)?.toJS()\n    const anyOf = schema.get(\"anyOf\")?.get(0)?.toJS()\n    return fromJS(fn.mergeJsonSchema(schema.toJS(), oneOf ?? anyOf ?? {}))\n  }\n\n  render() {\n    let {param, rawParam, getComponent, getConfigs, isExecute, fn, onChangeConsumes, specSelectors, pathMethod, specPath, oas3Selectors} = this.props\n\n    let isOAS3 = specSelectors.isOAS3()\n\n    const { showExtensions, showCommonExtensions } = getConfigs()\n\n    if(!param) {\n      param = rawParam\n    }\n\n    if(!rawParam) return null\n\n    // const onChangeWrapper = (value) => onChange(param, value)\n    const JsonSchemaForm = getComponent(\"JsonSchemaForm\")\n    const ParamBody = getComponent(\"ParamBody\")\n    let inType = param.get(\"in\")\n    let bodyParam = inType !== \"body\" ? null\n      : <ParamBody getComponent={getComponent}\n                   getConfigs={ getConfigs }\n                   fn={fn}\n                   param={param}\n                   consumes={ specSelectors.consumesOptionsFor(pathMethod) }\n                   consumesValue={ specSelectors.contentTypeValues(pathMethod).get(\"requestContentType\") }\n                   onChange={this.onChangeWrapper}\n                   onChangeConsumes={onChangeConsumes}\n                   isExecute={ isExecute }\n                   specSelectors={ specSelectors }\n                   pathMethod={ pathMethod }\n      />\n\n    const ModelExample = getComponent(\"modelExample\")\n    const Markdown = getComponent(\"Markdown\", true)\n    const ParameterExt = getComponent(\"ParameterExt\")\n    const ParameterIncludeEmpty = getComponent(\"ParameterIncludeEmpty\")\n    const ExamplesSelectValueRetainer = getComponent(\"ExamplesSelectValueRetainer\")\n    const Example = getComponent(\"Example\")\n\n    let { schema } = getParameterSchema(param, { isOAS3 })\n    let paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n\n    if (isOAS3) {\n      schema = this.composeJsonSchema(schema)\n    }\n    \n    let format = schema ? schema.get(\"format\") : null\n    let type = schema ? schema.get(\"type\") : null\n    let itemType = schema ? schema.getIn([\"items\", \"type\"]) : null\n    let isFormData = inType === \"formData\"\n    let isFormDataSupported = \"FormData\" in win\n    let required = param.get(\"required\")\n\n    let value = paramWithMeta ? paramWithMeta.get(\"value\") : \"\"\n    let commonExt = showCommonExtensions ? getCommonExtensions(schema) : null\n    let extensions = showExtensions ? getExtensions(param) : null\n\n    let paramItems // undefined\n    let paramEnum // undefined\n    let paramDefaultValue // undefined\n    let paramExample // undefined\n    let isDisplayParamEnum = false\n\n    if ( param !== undefined && schema ) {\n      paramItems = schema.get(\"items\")\n    }\n\n    if (paramItems !== undefined) {\n      paramEnum = paramItems.get(\"enum\")\n      paramDefaultValue = paramItems.get(\"default\")\n    } else if (schema) {\n      paramEnum = schema.get(\"enum\")\n    }\n\n    if ( paramEnum && paramEnum.size && paramEnum.size > 0) {\n      isDisplayParamEnum = true\n    }\n\n    // Default and Example Value for readonly doc\n    if ( param !== undefined ) {\n      if (schema) {\n        paramDefaultValue = schema.get(\"default\")\n      }\n      if (paramDefaultValue === undefined) {\n        paramDefaultValue = param.get(\"default\")\n      }\n      paramExample = param.get(\"example\")\n      if (paramExample === undefined) {\n        paramExample = param.get(\"x-example\")\n      }\n    }\n\n    return (\n      <tr data-param-name={param.get(\"name\")} data-param-in={param.get(\"in\")}>\n        <td className=\"parameters-col_name\">\n          <div className={required ? \"parameter__name required\" : \"parameter__name\"}>\n            { param.get(\"name\") }\n            { !required ? null : <span>&nbsp;*</span> }\n          </div>\n          <div className=\"parameter__type\">\n            { type }\n            { itemType && `[${itemType}]` }\n            { format && <span className=\"prop-format\">(${format})</span>}\n          </div>\n          <div className=\"parameter__deprecated\">\n            { isOAS3 && param.get(\"deprecated\") ? \"deprecated\": null }\n          </div>\n          <div className=\"parameter__in\">({ param.get(\"in\") })</div>\n        </td>\n\n        <td className=\"parameters-col_description\">\n          { param.get(\"description\") ? <Markdown source={ param.get(\"description\") }/> : null }\n\n          { (bodyParam || !isExecute) && isDisplayParamEnum ?\n            <Markdown className=\"parameter__enum\" source={\n                \"<i>Available values</i> : \" + paramEnum.map(function(item) {\n                    return item\n                  }).toArray().map(String).join(\", \")}/>\n            : null\n          }\n\n          { (bodyParam || !isExecute) && paramDefaultValue !== undefined ?\n            <Markdown className=\"parameter__default\" source={\"<i>Default value</i> : \" + paramDefaultValue}/>\n            : null\n          }\n\n          { (bodyParam || !isExecute) && paramExample !== undefined ?\n            <Markdown source={\"<i>Example</i> : \" + paramExample}/>\n            : null\n          }\n\n          {(isFormData && !isFormDataSupported) && <div>Error: your browser does not support FormData</div>}\n\n          {\n            isOAS3 && param.get(\"examples\") ? (\n              <section className=\"parameter-controls\">\n                <ExamplesSelectValueRetainer\n                  examples={param.get(\"examples\")}\n                  onSelect={this._onExampleSelect}\n                  updateValue={this.onChangeWrapper}\n                  getComponent={getComponent}\n                  defaultToFirstExample={true}\n                  currentKey={oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())}\n                  currentUserInputValue={value}\n                />\n              </section>\n            ) : null\n          }\n\n          { bodyParam ? null\n            : <JsonSchemaForm fn={fn}\n                              getComponent={getComponent}\n                              value={ value }\n                              required={ required }\n                              disabled={!isExecute}\n                              description={param.get(\"name\")}\n                              onChange={ this.onChangeWrapper }\n                              errors={ paramWithMeta.get(\"errors\") }\n                              schema={ schema }/>\n          }\n\n\n          {\n            bodyParam && schema ? <ModelExample getComponent={ getComponent }\n                                                specPath={specPath.push(\"schema\")}\n                                                getConfigs={ getConfigs }\n                                                isExecute={ isExecute }\n                                                specSelectors={ specSelectors }\n                                                schema={ schema }\n                                                example={ bodyParam }\n                                                includeWriteOnly={ true }/>\n              : null\n          }\n\n          {\n            !bodyParam && isExecute && param.get(\"allowEmptyValue\") ?\n            <ParameterIncludeEmpty\n              onChange={this.onChangeIncludeEmpty}\n              isIncluded={specSelectors.parameterInclusionSettingFor(pathMethod, param.get(\"name\"), param.get(\"in\"))}\n              isDisabled={!isEmptyValue(value)} />\n            : null\n          }\n\n          {\n            isOAS3 && param.get(\"examples\") ? (\n              <Example\n                example={param.getIn([\n                  \"examples\",\n                  oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())\n                ])}\n                getComponent={getComponent}\n                getConfigs={getConfigs}\n              />\n            ) : null\n          }\n\n          { !showCommonExtensions || !commonExt.size ? null : commonExt.entrySeq().map(([key, v]) => <ParameterExt key={`${key}-${v}`} xKey={key} xVal={v} /> )}\n          { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => <ParameterExt key={`${key}-${v}`} xKey={key} xVal={v} /> )}\n\n        </td>\n\n      </tr>\n    )\n\n  }\n\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Execute extends Component {\n\n  static propTypes = {\n    specSelectors: PropTypes.object.isRequired,\n    specActions: PropTypes.object.isRequired,\n    operation: PropTypes.object.isRequired,\n    path: PropTypes.string.isRequired,\n    method: PropTypes.string.isRequired,\n    oas3Selectors: PropTypes.object.isRequired,\n    oas3Actions: PropTypes.object.isRequired,\n    onExecute: PropTypes.func,\n    disabled: PropTypes.bool\n  }\n\n  handleValidateParameters = () => {\n    let { specSelectors, specActions, path, method } = this.props\n    specActions.validateParams([path, method])\n    return specSelectors.validateBeforeExecute([path, method])\n  }\n\n  handleValidateRequestBody = () => {\n    let { path, method, specSelectors, oas3Selectors, oas3Actions } = this.props\n    let validationErrors = {\n      missingBodyValue: false,\n      missingRequiredKeys: []\n    }\n    // context: reset errors, then (re)validate\n    oas3Actions.clearRequestBodyValidateError({ path, method })\n    let oas3RequiredRequestBodyContentType = specSelectors.getOAS3RequiredRequestBodyContentType([path, method])\n    let oas3RequestBodyValue = oas3Selectors.requestBodyValue(path, method)\n    let oas3ValidateBeforeExecuteSuccess = oas3Selectors.validateBeforeExecute([path, method])\n    let oas3RequestContentType = oas3Selectors.requestContentType(path, method)\n\n    if (!oas3ValidateBeforeExecuteSuccess) {\n      validationErrors.missingBodyValue = true\n      oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n      return false\n    }\n    if (!oas3RequiredRequestBodyContentType) {\n      return true\n    }\n    let missingRequiredKeys = oas3Selectors.validateShallowRequired({\n      oas3RequiredRequestBodyContentType,\n      oas3RequestContentType,\n      oas3RequestBodyValue\n    })\n    if (!missingRequiredKeys || missingRequiredKeys.length < 1) {\n      return true\n    }\n    missingRequiredKeys.forEach((missingKey) => {\n      validationErrors.missingRequiredKeys.push(missingKey)\n    })\n    oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n    return false\n  }\n\n  handleValidationResultPass = () => {\n    let { specActions, operation, path, method } = this.props\n    if (this.props.onExecute) {\n      // loading spinner\n      this.props.onExecute()\n    }\n    specActions.execute({ operation, path, method })\n  }\n\n  handleValidationResultFail = () => {\n    let { specActions, path, method } = this.props\n    // deferred by 40ms, to give element class change time to settle.\n    specActions.clearValidateParams([path, method])\n    setTimeout(() => {\n      specActions.validateParams([path, method])\n    }, 40)\n  }\n\n  handleValidationResult = (isPass) => {\n    if (isPass) {\n      this.handleValidationResultPass()\n    } else {\n      this.handleValidationResultFail()\n    }\n  }\n\n  onClick = () => {\n    let paramsResult = this.handleValidateParameters()\n    let requestBodyResult = this.handleValidateRequestBody()\n    let isPass = paramsResult && requestBodyResult\n    this.handleValidationResult(isPass)\n  }\n\n  onChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n  render(){\n    const { disabled } = this.props\n    return (\n        <button className=\"btn execute opblock-control__btn\" onClick={ this.onClick } disabled={disabled}>\n          Execute\n        </button>\n    )\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nconst propClass = \"header-example\"\n\nexport default class Headers extends React.Component {\n  static propTypes = {\n    headers: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired\n  }\n\n  render() {\n    let { headers, getComponent } = this.props\n\n    const Property = getComponent(\"Property\")\n    const Markdown = getComponent(\"Markdown\", true)\n\n    if ( !headers || !headers.size )\n      return null\n\n      return (\n      <div className=\"headers-wrapper\">\n        <h4 className=\"headers__title\">Headers:</h4>\n        <table className=\"headers\">\n          <thead>\n            <tr className=\"header-row\">\n              <th className=\"header-col\">Name</th>\n              <th className=\"header-col\">Description</th>\n              <th className=\"header-col\">Type</th>\n            </tr>\n          </thead>\n          <tbody>\n          {\n            headers.entrySeq().map( ([ key, header ]) => {\n              if(!Im.Map.isMap(header)) {\n                return null\n              }\n\n              const description = header.get(\"description\")\n              const type = header.getIn([\"schema\"]) ? header.getIn([\"schema\", \"type\"]) : header.getIn([\"type\"])\n              const schemaExample = header.getIn([\"schema\", \"example\"])\n\n              return (<tr key={ key }>\n                <td className=\"header-col\">{ key }</td>\n                <td className=\"header-col\">{\n                  !description ? null : <Markdown source={ description } />\n                }</td>\n                <td className=\"header-col\">{ type } { schemaExample ? <Property propKey={ \"Example\" } propVal={ schemaExample } propClass={ propClass } /> : null }</td>\n              </tr>)\n            }).toArray()\n          }\n          </tbody>\n        </table>\n      </div>\n    )\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\n\nexport default class Errors extends React.Component {\n\n  static propTypes = {\n    editorActions: PropTypes.object,\n    errSelectors: PropTypes.object.isRequired,\n    layoutSelectors: PropTypes.object.isRequired,\n    layoutActions: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired,\n  }\n\n  render() {\n    let { editorActions, errSelectors, layoutSelectors, layoutActions, getComponent } = this.props\n\n    const Collapse = getComponent(\"Collapse\")\n\n    if(editorActions && editorActions.jumpToLine) {\n      var jumpToLine = editorActions.jumpToLine\n    }\n\n    let errors = errSelectors.allErrors()\n\n    // all thrown errors, plus error-level everything else\n    let allErrorsToDisplay = errors.filter(err => err.get(\"type\") === \"thrown\" ? true :err.get(\"level\") === \"error\")\n\n    if(!allErrorsToDisplay || allErrorsToDisplay.count() < 1) {\n      return null\n    }\n\n    let isVisible = layoutSelectors.isShown([\"errorPane\"], true)\n    let toggleVisibility = () => layoutActions.show([\"errorPane\"], !isVisible)\n\n    let sortedJSErrors = allErrorsToDisplay.sortBy(err => err.get(\"line\"))\n\n    return (\n      <pre className=\"errors-wrapper\">\n        <hgroup className=\"error\">\n          <h4 className=\"errors__title\">Errors</h4>\n          <button className=\"btn errors__clear-btn\" onClick={ toggleVisibility }>{ isVisible ? \"Hide\" : \"Show\" }</button>\n        </hgroup>\n        <Collapse isOpened={ isVisible } animated >\n          <div className=\"errors\">\n            { sortedJSErrors.map((err, i) => {\n              let type = err.get(\"type\")\n              if(type === \"thrown\" || type === \"auth\") {\n                return <ThrownErrorItem key={ i } error={ err.get(\"error\") || err } jumpToLine={jumpToLine} />\n              }\n              if(type === \"spec\") {\n                return <SpecErrorItem key={ i } error={ err } jumpToLine={jumpToLine} />\n              }\n            }) }\n          </div>\n        </Collapse>\n      </pre>\n      )\n    }\n}\n\nconst ThrownErrorItem = ( { error, jumpToLine } ) => {\n  if(!error) {\n    return null\n  }\n  let errorLine = error.get(\"line\")\n\n  return (\n    <div className=\"error-wrapper\">\n      { !error ? null :\n        <div>\n          <h4>{ (error.get(\"source\") && error.get(\"level\")) ?\n            toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") : \"\" }\n          { error.get(\"path\") ? <small> at {error.get(\"path\")}</small>: null }</h4>\n          <span className=\"message thrown\">\n            { error.get(\"message\") }\n          </span>\n          <div className=\"error-line\">\n            { errorLine && jumpToLine ? <a onClick={jumpToLine.bind(null, errorLine)}>Jump to line { errorLine }</a> : null }\n          </div>\n        </div>\n      }\n    </div>\n    )\n  }\n\nconst SpecErrorItem = ( { error, jumpToLine = null } ) => {\n  let locationMessage = null\n\n  if(error.get(\"path\")) {\n    if(List.isList(error.get(\"path\"))) {\n      locationMessage = <small>at { error.get(\"path\").join(\".\") }</small>\n    } else {\n      locationMessage = <small>at { error.get(\"path\") }</small>\n    }\n  } else if(error.get(\"line\") && !jumpToLine) {\n    locationMessage = <small>on line { error.get(\"line\") }</small>\n  }\n\n  return (\n    <div className=\"error-wrapper\">\n      { !error ? null :\n        <div>\n          <h4>{ toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") }&nbsp;{ locationMessage }</h4>\n          <span className=\"message\">{ error.get(\"message\") }</span>\n          <div className=\"error-line\">\n            { jumpToLine ? (\n              <a onClick={jumpToLine.bind(null, error.get(\"line\"))}>Jump to line { error.get(\"line\") }</a>\n            ) : null }\n          </div>\n        </div>\n      }\n    </div>\n    )\n  }\n\nfunction toTitleCase(str) {\n  return (str || \"\")\n    .split(\" \")\n    .map(substr => substr[0].toUpperCase() + substr.slice(1))\n    .join(\" \")\n}\n\nThrownErrorItem.propTypes = {\n  error: PropTypes.object.isRequired,\n  jumpToLine: PropTypes.func\n}\n\nSpecErrorItem.propTypes = {\n  error: PropTypes.object.isRequired,\n  jumpToLine: PropTypes.func\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { fromJS } from \"immutable\"\n\nconst noop = ()=>{}\n\nexport default class ContentType extends React.Component {\n\n  static propTypes = {\n    ariaControls: PropTypes.string,\n    contentTypes: PropTypes.oneOfType([ImPropTypes.list, ImPropTypes.set, ImPropTypes.seq]),\n    controlId: PropTypes.string,\n    value: PropTypes.string,\n    onChange: PropTypes.func,\n    className: PropTypes.string,\n    ariaLabel: PropTypes.string\n  }\n\n  static defaultProps = {\n    onChange: noop,\n    value: null,\n    contentTypes: fromJS([\"application/json\"]),\n  }\n\n  componentDidMount() {\n    // Needed to populate the form, initially\n    if(this.props.contentTypes) {\n      this.props.onChange(this.props.contentTypes.first())\n    }\n  }\n\n  UNSAFE_componentWillReceiveProps(nextProps) {\n    if(!nextProps.contentTypes || !nextProps.contentTypes.size) {\n      return\n    }\n\n    if(!nextProps.contentTypes.includes(nextProps.value)) {\n      nextProps.onChange(nextProps.contentTypes.first())\n    }\n  }\n\n  onChangeWrapper = e => this.props.onChange(e.target.value)\n\n  render() {\n    let { ariaControls, ariaLabel, className, contentTypes, controlId, value } = this.props\n\n    if ( !contentTypes || !contentTypes.size )\n      return null\n\n    return (\n      <div className={ \"content-type-wrapper \" + ( className || \"\" ) }>\n        <select aria-controls={ariaControls} aria-label={ariaLabel} className=\"content-type\" id={controlId} onChange={this.onChangeWrapper} value={value || \"\"} >\n          { contentTypes.map( (val) => {\n            return <option key={ val } value={ val }>{ val }</option>\n          }).toArray()}\n        </select>\n      </div>\n    )\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nfunction xclass(...args) {\n  return args.filter(a => !!a).join(\" \").trim()\n}\n\nexport class Container extends React.Component {\n  render() {\n    let { fullscreen, full, ...rest } = this.props\n    // Normal element\n\n    if(fullscreen)\n      return <section {...rest}/>\n\n    let containerClass = \"swagger-container\" + (full ? \"-full\" : \"\")\n    return (\n      <section {...rest} className={xclass(rest.className, containerClass)}/>\n    )\n  }\n}\n\nContainer.propTypes = {\n  fullscreen: PropTypes.bool,\n  full: PropTypes.bool,\n  className: PropTypes.string\n}\n\nconst DEVICES = {\n  \"mobile\": \"\",\n  \"tablet\": \"-tablet\",\n  \"desktop\": \"-desktop\",\n  \"large\": \"-hd\"\n}\n\nexport class Col extends React.Component {\n\n  render() {\n    const {\n      hide,\n      keepContents,\n      /* we don't want these in the `rest` object that passes to the final component,\n         since React now complains. So we extract them */\n      /* eslint-disable no-unused-vars */\n      mobile,\n      tablet,\n      desktop,\n      large,\n      /* eslint-enable no-unused-vars */\n      ...rest\n    } = this.props\n\n    if(hide && !keepContents)\n      return <span/>\n\n    let classesAr = []\n\n    for (let device in DEVICES) {\n      if (!Object.prototype.hasOwnProperty.call(DEVICES, device)) {\n        continue\n      }\n      let deviceClass = DEVICES[device]\n      if(device in this.props) {\n        let val = this.props[device]\n\n        if(val < 1) {\n          classesAr.push(\"none\" + deviceClass)\n          continue\n        }\n\n        classesAr.push(\"block\" + deviceClass)\n        classesAr.push(\"col-\" + val + deviceClass)\n      }\n    }\n\n    if (hide) {\n      classesAr.push(\"hidden\")\n    }\n\n    let classes = xclass(rest.className, ...classesAr)\n\n    return (\n      <section {...rest} className={classes}/>\n    )\n  }\n\n}\n\nCol.propTypes = {\n  hide: PropTypes.bool,\n  keepContents: PropTypes.bool,\n  mobile: PropTypes.number,\n  tablet: PropTypes.number,\n  desktop: PropTypes.number,\n  large: PropTypes.number,\n  className: PropTypes.string\n}\n\nexport class Row extends React.Component {\n\n  render() {\n    return <div {...this.props} className={xclass(this.props.className, \"wrapper\")} />\n  }\n\n}\n\nRow.propTypes = {\n  className: PropTypes.string\n}\n\nexport class Button extends React.Component {\n\n  static propTypes = {\n    className: PropTypes.string\n  }\n\n  static defaultProps = {\n    className: \"\"\n  }\n\n  render() {\n    return <button {...this.props} className={xclass(this.props.className, \"button\")} />\n  }\n\n}\n\n\nexport const TextArea = (props) => <textarea {...props} />\n\nexport const Input = (props) => <input {...props} />\n\nexport class Select extends React.Component {\n  static propTypes = {\n    allowedValues: PropTypes.array,\n    value: PropTypes.any,\n    onChange: PropTypes.func,\n    multiple: PropTypes.bool,\n    allowEmptyValue: PropTypes.bool,\n    className: PropTypes.string,\n    disabled: PropTypes.bool,\n  }\n\n  static defaultProps = {\n    multiple: false,\n    allowEmptyValue: true\n  }\n\n  constructor(props, context) {\n    super(props, context)\n\n    let value\n\n    if (props.value) {\n      value = props.value\n    } else {\n      value = props.multiple ? [\"\"] : \"\"\n    }\n\n    this.state = { value: value }\n  }\n\n  onChange = (e) => {\n    let { onChange, multiple } = this.props\n    let options = [].slice.call(e.target.options)\n    let value\n\n\n    if (multiple) {\n      value = options.filter(function (option) {\n          return option.selected\n        })\n        .map(function (option){\n          return option.value\n        })\n    } else {\n      value = e.target.value\n    }\n\n    this.setState({value: value})\n\n    onChange && onChange(value)\n  }\n\n  UNSAFE_componentWillReceiveProps(nextProps) {\n    // TODO: this puts us in a weird area btwn un/controlled selection... review\n    if(nextProps.value !== this.props.value) {\n      this.setState({ value: nextProps.value })\n    }\n  }\n\n  render(){\n    let { allowedValues, multiple, allowEmptyValue, disabled } = this.props\n    let value = this.state.value?.toJS?.() || this.state.value\n\n    return (\n      <select className={this.props.className} multiple={ multiple } value={value} onChange={ this.onChange } disabled={disabled} >\n        { allowEmptyValue ? <option value=\"\">--</option> : null }\n        {\n          allowedValues.map(function (item, key) {\n            return <option key={ key } value={ String(item) }>{ String(item) }</option>\n          })\n        }\n      </select>\n    )\n  }\n}\n\nexport class Link extends React.Component {\n\n  render() {\n    return <a {...this.props} rel=\"noopener noreferrer\" className={xclass(this.props.className, \"link\")}/>\n  }\n\n}\n\nLink.propTypes = {\n  className: PropTypes.string\n}\n\nconst NoMargin = ({children}) => <div className=\"no-margin\"> {children} </div>\n\nNoMargin.propTypes = {\n  children: PropTypes.node\n}\n\nexport class Collapse extends React.Component {\n\n  static propTypes = {\n    isOpened: PropTypes.bool,\n    children: PropTypes.node.isRequired,\n    animated: PropTypes.bool\n  }\n\n  static defaultProps = {\n    isOpened: false,\n    animated: false\n  }\n\n  renderNotAnimated() {\n    if(!this.props.isOpened)\n      return <noscript/>\n    return (\n      <NoMargin>\n        {this.props.children}\n      </NoMargin>\n    )\n  }\n\n  render() {\n    let { animated, isOpened, children } = this.props\n\n    if(!animated)\n      return this.renderNotAnimated()\n\n    children = isOpened ? children : null\n    return (\n      <NoMargin>\n        {children}\n      </NoMargin>\n    )\n  }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Link } from \"core/components/layout-utils\"\n\nexport default class Overview extends React.Component {\n\n  constructor(...args) {\n    super(...args)\n    this.setTagShown = this._setTagShown.bind(this)\n  }\n\n  _setTagShown(showTagId, shown) {\n    this.props.layoutActions.show(showTagId, shown)\n  }\n\n  showOp(key, shown) {\n    let { layoutActions } = this.props\n    layoutActions.show(key, shown)\n  }\n\n  render() {\n    let { specSelectors, layoutSelectors, layoutActions, getComponent } = this.props\n    let taggedOps = specSelectors.taggedOperations()\n\n    const Collapse = getComponent(\"Collapse\")\n\n    return (\n        <div>\n          <h4 className=\"overview-title\">Overview</h4>\n\n          {\n            taggedOps.map( (tagObj, tag) => {\n              let operations = tagObj.get(\"operations\")\n\n              let showTagId = [\"overview-tags\", tag]\n              let showTag = layoutSelectors.isShown(showTagId, true)\n              let toggleShow = ()=> layoutActions.show(showTagId, !showTag)\n\n              return (\n                <div key={\"overview-\"+tag}>\n\n\n                  <h4 onClick={toggleShow} className=\"link overview-tag\"> {showTag ? \"-\" : \"+\"}{tag}</h4>\n\n                  <Collapse isOpened={showTag} animated>\n                    {\n                      operations.map( op => {\n                        let { path, method, id } = op.toObject() // toObject is shallow\n                        let showOpIdPrefix = \"operations\"\n                        let showOpId = id\n                        let shown = layoutSelectors.isShown([showOpIdPrefix, showOpId])\n                        return <OperationLink key={id}\n                                              path={path}\n                                              method={method}\n                                              id={path + \"-\" + method}\n                                              shown={shown}\n                                              showOpId={showOpId}\n                                              showOpIdPrefix={showOpIdPrefix}\n                                              href={`#operation-${showOpId}`}\n                                              onClick={layoutActions.show} />\n                      }).toArray()\n                    }\n                  </Collapse>\n\n                </div>\n                )\n            }).toArray()\n          }\n\n          { taggedOps.size < 1 && <h3> No operations defined in spec! </h3> }\n        </div>\n    )\n  }\n\n}\n\nOverview.propTypes = {\n  layoutSelectors: PropTypes.object.isRequired,\n  specSelectors: PropTypes.object.isRequired,\n  layoutActions: PropTypes.object.isRequired,\n  getComponent: PropTypes.func.isRequired\n}\n\nexport class OperationLink extends React.Component {\n\n  constructor(props) {\n    super(props)\n    this.onClick = this._onClick.bind(this)\n  }\n\n  _onClick() {\n    let { showOpId, showOpIdPrefix, onClick, shown } = this.props\n    onClick([showOpIdPrefix, showOpId], !shown)\n  }\n\n  render() {\n    let { id, method, shown, href } = this.props\n\n    return (\n      <Link href={ href } onClick={this.onClick} className={`block opblock-link ${shown ? \"shown\" : \"\"}`}>\n        <div>\n          <small className={`bold-label-${method}`}>{method.toUpperCase()}</small>\n          <span className=\"bold-label\" >{id}</span>\n        </div>\n      </Link>\n    )\n  }\n\n}\n\nOperationLink.propTypes = {\n  href: PropTypes.string,\n  onClick: PropTypes.func,\n  id: PropTypes.string.isRequired,\n  method: PropTypes.string.isRequired,\n  shown: PropTypes.bool.isRequired,\n  showOpId: PropTypes.string.isRequired,\n  showOpIdPrefix: PropTypes.string.isRequired\n}\n","// This component provides an interface that feels like an uncontrolled input\n// to consumers, while providing a `defaultValue` interface that initializes\n// the input's value using JavaScript value property APIs instead of React's \n// vanilla[0] implementation that uses HTML value attributes.\n//\n// This is useful in situations where we don't want to surface an input's value\n// into the HTML/CSS-exposed side of the DOM, for example to avoid sequential\n// input chaining attacks[1].\n// \n// [0]: https://github.com/facebook/react/blob/baff5cc2f69d30589a5dc65b089e47765437294b/fixtures/dom/src/components/fixtures/text-inputs/README.md\n// [1]: https://github.com/d0nutptr/sic\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class InitializedInput extends React.Component {\n  componentDidMount() {\n    // Set the element's `value` property (*not* the `value` attribute)\n    // once, on mount, if an `initialValue` is provided.\n    if(this.props.initialValue) {\n      this.inputRef.value = this.props.initialValue\n    }\n  }\n\n  render() {\n    // Filter out `value` and `defaultValue`, since we have our own\n    // `initialValue` interface that we provide.\n    // eslint-disable-next-line no-unused-vars, react/prop-types\n    const { value, defaultValue, initialValue, ...otherProps } = this.props\n    return <input {...otherProps} ref={c => this.inputRef = c} />\n  }\n}\n\nInitializedInput.propTypes = {\n  initialValue: PropTypes.string\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\n\nexport class InfoBasePath extends React.Component {\n  static propTypes = {\n    host: PropTypes.string,\n    basePath: PropTypes.string,\n  }\n\n  render() {\n    const { host, basePath } = this.props\n\n    return (\n      <pre className=\"base-url\">\n        [ Base URL: {host}\n        {basePath} ]\n      </pre>\n    )\n  }\n}\n\nexport class InfoUrl extends React.PureComponent {\n  static propTypes = {\n    url: PropTypes.string.isRequired,\n    getComponent: PropTypes.func.isRequired,\n  }\n\n  render() {\n    const { url, getComponent } = this.props\n    const Link = getComponent(\"Link\")\n\n    return (\n      <Link target=\"_blank\" href={sanitizeUrl(url)}>\n        <span className=\"url\"> {url}</span>\n      </Link>\n    )\n  }\n}\n\nclass Info extends React.Component {\n  static propTypes = {\n    title: PropTypes.any,\n    description: PropTypes.any,\n    version: PropTypes.any,\n    info: PropTypes.object,\n    url: PropTypes.string,\n    host: PropTypes.string,\n    basePath: PropTypes.string,\n    externalDocs: ImPropTypes.map,\n    getComponent: PropTypes.func.isRequired,\n    oas3selectors: PropTypes.func,\n    selectedServer: PropTypes.string,\n  }\n\n  render() {\n    const {\n      info,\n      url,\n      host,\n      basePath,\n      getComponent,\n      externalDocs,\n      selectedServer,\n      url: specUrl,\n    } = this.props\n    const version = info.get(\"version\")\n    const description = info.get(\"description\")\n    const title = info.get(\"title\")\n    const termsOfServiceUrl = safeBuildUrl(\n      info.get(\"termsOfService\"),\n      specUrl,\n      { selectedServer }\n    )\n    const contactData = info.get(\"contact\")\n    const licenseData = info.get(\"license\")\n    const rawExternalDocsUrl = externalDocs && externalDocs.get(\"url\")\n    const externalDocsUrl = safeBuildUrl(rawExternalDocsUrl, specUrl, {\n      selectedServer,\n    })\n    const externalDocsDescription =\n      externalDocs && externalDocs.get(\"description\")\n\n    const Markdown = getComponent(\"Markdown\", true)\n    const Link = getComponent(\"Link\")\n    const VersionStamp = getComponent(\"VersionStamp\")\n    const OpenAPIVersion = getComponent(\"OpenAPIVersion\")\n    const InfoUrl = getComponent(\"InfoUrl\")\n    const InfoBasePath = getComponent(\"InfoBasePath\")\n    const License = getComponent(\"License\")\n    const Contact = getComponent(\"Contact\")\n\n    return (\n      <div className=\"info\">\n        <hgroup className=\"main\">\n          <h2 className=\"title\">\n            {title}\n            <span>\n              {version && <VersionStamp version={version} />}\n              <OpenAPIVersion oasVersion=\"2.0\" />\n            </span>\n          </h2>\n          {host || basePath ? (\n            <InfoBasePath host={host} basePath={basePath} />\n          ) : null}\n          {url && <InfoUrl getComponent={getComponent} url={url} />}\n        </hgroup>\n\n        <div className=\"description\">\n          <Markdown source={description} />\n        </div>\n\n        {termsOfServiceUrl && (\n          <div className=\"info__tos\">\n            <Link target=\"_blank\" href={sanitizeUrl(termsOfServiceUrl)}>\n              Terms of service\n            </Link>\n          </div>\n        )}\n\n        {contactData?.size > 0 && (\n          <Contact\n            getComponent={getComponent}\n            data={contactData}\n            selectedServer={selectedServer}\n            url={url}\n          />\n        )}\n        {licenseData?.size > 0 && (\n          <License\n            getComponent={getComponent}\n            license={licenseData}\n            selectedServer={selectedServer}\n            url={url}\n          />\n        )}\n        {externalDocsUrl ? (\n          <Link\n            className=\"info__extdocs\"\n            target=\"_blank\"\n            href={sanitizeUrl(externalDocsUrl)}\n          >\n            {externalDocsDescription || externalDocsUrl}\n          </Link>\n        ) : null}\n      </div>\n    )\n  }\n}\n\nexport default Info\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class InfoContainer extends React.Component {\n\n  static propTypes = {\n    specActions: PropTypes.object.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired,\n    oas3Selectors: PropTypes.func.isRequired,\n  }\n\n  render () {\n    const {specSelectors, getComponent, oas3Selectors} = this.props\n\n    const info = specSelectors.info()\n    const url = specSelectors.url()\n    const basePath = specSelectors.basePath()\n    const host = specSelectors.host()\n    const externalDocs = specSelectors.externalDocs()\n    const selectedServer = oas3Selectors.selectedServer()\n\n    const Info = getComponent(\"info\")\n\n    return (\n      <div>\n        {info && info.count() ? (\n          <Info info={info} url={url} host={host} basePath={basePath} externalDocs={externalDocs}\n                getComponent={getComponent} selectedServer={selectedServer} />\n        ) : null}\n      </div>\n    )\n  }\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { sanitizeUrl } from \"core/utils\"\n\nclass Contact extends React.Component {\n  static propTypes = {\n    data: PropTypes.object,\n    getComponent: PropTypes.func.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    selectedServer: PropTypes.string,\n    url: PropTypes.string.isRequired,\n  }\n\n  render() {\n    const { data, getComponent, selectedServer, url: specUrl } = this.props\n    const name = data.get(\"name\", \"the developer\")\n    const url = safeBuildUrl(data.get(\"url\"), specUrl, { selectedServer })\n    const email = data.get(\"email\")\n\n    const Link = getComponent(\"Link\")\n\n    return (\n      <div className=\"info__contact\">\n        {url && (\n          <div>\n            <Link href={sanitizeUrl(url)} target=\"_blank\">\n              {name} - Website\n            </Link>\n          </div>\n        )}\n        {email && (\n          <Link href={sanitizeUrl(`mailto:${email}`)}>\n            {url ? `Send email to ${name}` : `Contact ${name}`}\n          </Link>\n        )}\n      </div>\n    )\n  }\n}\n\nexport default Contact\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { sanitizeUrl } from \"core/utils\"\n\nclass License extends React.Component {\n  static propTypes = {\n    license: PropTypes.object,\n    getComponent: PropTypes.func.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    selectedServer: PropTypes.string,\n    url: PropTypes.string.isRequired,\n  }\n\n  render() {\n    const { license, getComponent, selectedServer, url: specUrl } = this.props\n    const name = license.get(\"name\", \"License\")\n    const url = safeBuildUrl(license.get(\"url\"), specUrl, { selectedServer })\n\n    const Link = getComponent(\"Link\")\n\n    return (\n      <div className=\"info__license\">\n        {url ? (\n          <div className=\"info__license__url\">\n            <Link target=\"_blank\" href={sanitizeUrl(url)}>\n              {name}\n            </Link>\n          </div>\n        ) : (\n          <span>{name}</span>\n        )}\n      </div>\n    )\n  }\n}\n\nexport default License\n","import React from \"react\"\n\n// Nothing by default- component can be overridden by another plugin.\n\nexport default class JumpToPath extends React.Component {\n  render() {\n    return null\n  }\n}\n","import React from \"react\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\nimport PropTypes from \"prop-types\"\n\n/**\n * @param {{ getComponent: func, textToCopy: string }} props\n * @returns {JSX.Element}\n * @constructor\n */\nexport default class CopyToClipboardBtn extends React.Component {\n  render() {\n    let { getComponent } = this.props\n\n    const CopyIcon = getComponent(\"CopyIcon\")\n\n    return (\n      <div className=\"view-line-link copy-to-clipboard\" title=\"Copy to clipboard\">\n        <CopyToClipboard text={this.props.textToCopy}>\n          <CopyIcon />\n        </CopyToClipboard>\n      </div>\n    )\n  }\n\n  static propTypes = {\n    getComponent: PropTypes.func.isRequired,\n    textToCopy: PropTypes.string.isRequired,\n  }\n}\n","import React from \"react\"\n\nexport default class Footer extends React.Component {\n  render() {\n    return (\n      <div className=\"footer\"></div>\n    )\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class FilterContainer extends React.Component {\n\n  static propTypes = {\n    specSelectors: PropTypes.object.isRequired,\n    layoutSelectors: PropTypes.object.isRequired,\n    layoutActions: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired,\n  }\n\n  onFilterChange = (e) => {\n    const {target: {value}} = e\n    this.props.layoutActions.updateFilter(value)\n  }\n\n  render () {\n    const {specSelectors, layoutSelectors, getComponent} = this.props\n    const Col = getComponent(\"Col\")\n\n    const isLoading = specSelectors.loadingStatus() === \"loading\"\n    const isFailed = specSelectors.loadingStatus() === \"failed\"\n    const filter = layoutSelectors.currentFilter()\n\n    const classNames = [\"operation-filter-input\"]\n    if (isFailed) classNames.push(\"failed\")\n    if (isLoading) classNames.push(\"loading\")\n\n    return (\n      <div>\n        {filter === false ? null :\n          <div className=\"filter-container\">\n            <Col className=\"filter wrapper\" mobile={12}>\n              <input className={classNames.join(\" \")} placeholder=\"Filter by tag\" type=\"text\"\n                     onChange={this.onFilterChange} value={typeof filter === \"string\" ? filter : \"\"}\n                     disabled={isLoading}/>\n            </Col>\n          </div>\n        }\n      </div>\n    )\n  }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { fromJS, List } from \"immutable\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\nimport createHtmlReadyId from \"core/utils/create-html-ready-id\"\n\nconst NOOP = Function.prototype\n\nexport default class ParamBody extends PureComponent {\n\n  static propTypes = {\n    param: PropTypes.object,\n    onChange: PropTypes.func,\n    onChangeConsumes: PropTypes.func,\n    consumes: PropTypes.object,\n    consumesValue: PropTypes.string,\n    fn: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired,\n    isExecute: PropTypes.bool,\n    specSelectors: PropTypes.object.isRequired,\n    pathMethod: PropTypes.array.isRequired\n  }\n\n  static defaultProp = {\n    consumes: fromJS([\"application/json\"]),\n    param: fromJS({}),\n    onChange: NOOP,\n    onChangeConsumes: NOOP,\n  }\n\n  constructor(props, context) {\n    super(props, context)\n\n    this.state = {\n      isEditBox: false,\n      value: \"\"\n    }\n\n  }\n\n  componentDidMount() {\n    this.updateValues.call(this, this.props)\n  }\n\n  UNSAFE_componentWillReceiveProps(nextProps) {\n    this.updateValues.call(this, nextProps)\n  }\n\n  updateValues = (props) => {\n    let { param, isExecute, consumesValue=\"\" } = props\n    let isXml = /xml/i.test(consumesValue)\n    let isJson = /json/i.test(consumesValue)\n    let paramValue = isXml ? param.get(\"value_xml\") : param.get(\"value\")\n\n    if ( paramValue !== undefined ) {\n      let val = !paramValue && isJson ? \"{}\" : paramValue\n      this.setState({ value: val })\n      this.onChange(val, {isXml: isXml, isEditBox: isExecute})\n    } else {\n      if (isXml) {\n        this.onChange(this.sample(\"xml\"), {isXml: isXml, isEditBox: isExecute})\n      } else {\n        this.onChange(this.sample(), {isEditBox: isExecute})\n      }\n    }\n  }\n\n  sample = (xml) => {\n    let { param, fn} = this.props\n    let schema = fn.inferSchema(param.toJS())\n\n    return fn.getSampleSchema(schema, xml, {\n      includeWriteOnly: true\n    })\n  }\n\n  onChange = (value, { isEditBox, isXml }) => {\n    this.setState({value, isEditBox})\n    this._onChange(value, isXml)\n  }\n\n  _onChange = (val, isXml) => { (this.props.onChange || NOOP)(val, isXml) }\n\n  handleOnChange = e => {\n    const {consumesValue} = this.props\n    const isXml = /xml/i.test(consumesValue)\n    const inputValue = e.target.value\n    this.onChange(inputValue, {isXml, isEditBox: this.state.isEditBox})\n  }\n\n  toggleIsEditBox = () => this.setState( state => ({isEditBox: !state.isEditBox}))\n\n  render() {\n    let {\n      onChangeConsumes,\n      param,\n      isExecute,\n      specSelectors,\n      pathMethod,\n      getComponent,\n    } = this.props\n\n    const Button = getComponent(\"Button\")\n    const TextArea = getComponent(\"TextArea\")\n    const HighlightCode = getComponent(\"HighlightCode\", true)\n    const ContentType = getComponent(\"contentType\")\n    // for domains where specSelectors not passed\n    let parameter = specSelectors ? specSelectors.parameterWithMetaByIdentity(pathMethod, param) : param\n    let errors = parameter.get(\"errors\", List())\n    let consumesValue = specSelectors.contentTypeValues(pathMethod).get(\"requestContentType\")\n    let consumes = this.props.consumes && this.props.consumes.size ? this.props.consumes : ParamBody.defaultProp.consumes\n\n    let { value, isEditBox } = this.state\n    let language = null\n    let testValueForJson = getKnownSyntaxHighlighterLanguage(value)\n    if (testValueForJson) {\n      language = \"json\"\n    }\n\n    const regionId = createHtmlReadyId(`${pathMethod[1]}${pathMethod[0]}_parameters`)\n    const controlId = `${regionId}_select`\n\n    return (\n      <div className=\"body-param\" data-param-name={param.get(\"name\")} data-param-in={param.get(\"in\")}>\n        {\n          isEditBox && isExecute\n            ? <TextArea className={ \"body-param__text\" + ( errors.count() ? \" invalid\" : \"\")} value={value} onChange={ this.handleOnChange }/>\n            : (value && <HighlightCode className=\"body-param__example\" language={ language }>{value}</HighlightCode>)\n        }\n        <div className=\"body-param-options\">\n          {\n            !isExecute ? null\n                       : <div className=\"body-param-edit\">\n                        <Button className={isEditBox ? \"btn cancel body-param__example-edit\" : \"btn edit body-param__example-edit\"}\n                                 onClick={this.toggleIsEditBox}>{ isEditBox ? \"Cancel\" : \"Edit\"}\n                         </Button>\n                         </div>\n          }\n          <label htmlFor={controlId}>\n            <span>Parameter content type</span>\n            <ContentType\n              value={ consumesValue }\n              contentTypes={ consumes }\n              onChange={onChangeConsumes}\n              className=\"body-param-content-type\"\n              ariaLabel=\"Parameter content type\"\n              controlId={controlId}\n            />\n          </label>\n        </div>\n\n      </div>\n    )\n\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\nimport { requestSnippetGenerator_curl_bash } from \"../plugins/request-snippets/fn\"\n\nexport default class Curl extends React.Component {\n  static propTypes = {\n    getComponent: PropTypes.func.isRequired,\n    request: PropTypes.object.isRequired\n  }\n\n  render() {\n    const { request, getComponent } = this.props\n    const curl = requestSnippetGenerator_curl_bash(request)\n    const SyntaxHighlighter = getComponent(\"SyntaxHighlighter\", true)\n\n    return (\n      <div className=\"curl-command\">\n        <h4>Curl</h4>\n        <div className=\"copy-to-clipboard\">\n            <CopyToClipboard text={curl}><button/></CopyToClipboard>\n        </div>\n        <div>\n          <SyntaxHighlighter\n            language=\"bash\"\n            className=\"curl microlight\"\n            renderPlainText={({ children, PlainTextViewer }) => (\n              <PlainTextViewer className=\"curl\">{children}</PlainTextViewer>\n            )}\n          >\n            {curl}\n          </SyntaxHighlighter>\n        </div>\n      </div>\n    )\n  }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const Property = ({ propKey, propVal, propClass }) => {\n    return (\n        <span className={ propClass }>\n          <br />{ propKey }: { String(propVal) }</span>\n    )\n}\nProperty.propTypes = {\n  propKey: PropTypes.string,\n  propVal: PropTypes.any,\n  propClass: PropTypes.string\n}\n\nexport default Property\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class TryItOutButton extends React.Component {\n\n  static propTypes = {\n    onTryoutClick: PropTypes.func,\n    onResetClick: PropTypes.func,\n    onCancelClick: PropTypes.func,\n    enabled: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n    hasUserEditedBody: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n    isOAS3: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n  }\n\n  static defaultProps = {\n    onTryoutClick: Function.prototype,\n    onCancelClick: Function.prototype,\n    onResetClick: Function.prototype,\n    enabled: false,\n    hasUserEditedBody: false,\n    isOAS3: false,\n  }\n\n  render() {\n    const { onTryoutClick, onCancelClick, onResetClick, enabled, hasUserEditedBody, isOAS3 } = this.props\n\n    const showReset = isOAS3 && hasUserEditedBody\n    return (\n      <div className={showReset ? \"try-out btn-group\" : \"try-out\"}>\n        {\n          enabled ? <button className=\"btn try-out__btn cancel\" onClick={ onCancelClick }>Cancel</button>\n                  : <button className=\"btn try-out__btn\" onClick={ onTryoutClick }>Try it out </button>\n\n        }\n        {\n          showReset && <button className=\"btn try-out__btn reset\" onClick={ onResetClick }>Reset</button>\n        }\n      </div>\n    )\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class VersionPragmaFilter extends React.PureComponent {\n  static propTypes = {\n    isSwagger2: PropTypes.bool.isRequired,\n    isOAS3: PropTypes.bool.isRequired,\n    bypass: PropTypes.bool,\n    alsoShow: PropTypes.element,\n    children: PropTypes.any,\n  }\n\n  static defaultProps = {\n    alsoShow: null,\n    children: null,\n    bypass: false,\n  }\n\n  render() {\n    const { bypass, isSwagger2, isOAS3, alsoShow } = this.props\n\n    if(bypass) {\n      return <div>{ this.props.children }</div>\n    }\n\n    if(isSwagger2 && isOAS3) {\n      return <div className=\"version-pragma\">\n        {alsoShow}\n        <div className=\"version-pragma__message version-pragma__message--ambiguous\">\n          <div>\n            <h3>Unable to render this definition</h3>\n            <p><code>swagger</code> and <code>openapi</code> fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields.</p>\n            <p>Supported version fields are <code>swagger: {\"\\\"2.0\\\"\"}</code> and those that match <code>openapi: 3.0.n</code> (for example, <code>openapi: 3.0.0</code>).</p>\n          </div>\n        </div>\n      </div>\n    }\n\n    if(!isSwagger2 && !isOAS3) {\n      return <div className=\"version-pragma\">\n        {alsoShow}\n        <div className=\"version-pragma__message version-pragma__message--missing\">\n          <div>\n            <h3>Unable to render this definition</h3>\n            <p>The provided definition does not specify a valid version field.</p>\n            <p>Please indicate a valid Swagger or OpenAPI version field. Supported version fields are <code>swagger: {\"\\\"2.0\\\"\"}</code> and those that match <code>openapi: 3.0.n</code> (for example, <code>openapi: 3.0.0</code>).</p>\n          </div>\n        </div>\n      </div>\n    }\n\n    return <div>{ this.props.children }</div>\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst VersionStamp = ({ version }) => {\n  return <small><pre className=\"version\"> { version } </pre></small>\n}\n\nVersionStamp.propTypes = {\n  version: PropTypes.string.isRequired\n}\n\nexport default VersionStamp\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\n\nconst OpenAPIVersion = ({ oasVersion }) => (\n  <small className=\"version-stamp\">\n    <pre className=\"version\">OAS {oasVersion}</pre>\n  </small>\n)\n\nOpenAPIVersion.propTypes = {\n  oasVersion: PropTypes.string.isRequired\n}\n\nexport default OpenAPIVersion\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const DeepLink = ({ enabled, path, text }) => {\n    return (\n        <a className=\"nostyle\"\n          onClick={enabled ? (e) => e.preventDefault() : null}\n          href={enabled ? `#/${path}` : null}>\n          <span>{text}</span>\n        </a>\n    )\n}\nDeepLink.propTypes = {\n  enabled: PropTypes.bool,\n  isShown: PropTypes.bool,\n  path: PropTypes.string,\n  text: PropTypes.node\n}\n\nexport default DeepLink\n","import React from \"react\"\nconst SvgAssets = () =>\n  <div>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" className=\"svg-assets\">\n      <defs>\n        <symbol viewBox=\"0 0 20 20\" id=\"unlocked\">\n          <path d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z\"></path>\n        </symbol>\n\n        <symbol viewBox=\"0 0 20 20\" id=\"locked\">\n          <path d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 20 20\" id=\"close\">\n          <path d=\"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 20 20\" id=\"large-arrow\">\n          <path d=\"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 20 20\" id=\"large-arrow-down\">\n          <path d=\"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 20 20\" id=\"large-arrow-up\">\n          <path d=\"M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 24 24\" id=\"jump-to\">\n          <path d=\"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 24 24\" id=\"expand\">\n          <path d=\"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\"/>\n        </symbol>\n\n        <symbol viewBox=\"0 0 15 16\" id=\"copy\">\n          <g transform='translate(2, -1)'>\n            <path fill='#ffffff' fillRule='evenodd' d='M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z'></path>\n          </g>\n        </symbol>\n\n      </defs>\n    </svg>\n  </div>\n\nexport default SvgAssets\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"remarkable\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"remarkable/linkify\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"dompurify\");","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Remarkable } from \"remarkable\"\nimport { linkify } from \"remarkable/linkify\"\nimport DomPurify from \"dompurify\"\nimport cx from \"classnames\"\n\nif (DomPurify.addHook) {\n  DomPurify.addHook(\"beforeSanitizeElements\", function (current, ) {\n    // Attach safe `rel` values to all elements that contain an `href`,\n    // i.e. all anchors that are links.\n    // We _could_ just look for elements that have a non-self target,\n    // but applying it more broadly shouldn't hurt anything, and is safer.\n    if (current.href) {\n      current.setAttribute(\"rel\", \"noopener noreferrer\")\n    }\n    return current\n  })\n}\n\nfunction Markdown({ source, className = \"\", getConfigs = () => ({ useUnsafeMarkdown: false }) }) {\n  if (typeof source !== \"string\") {\n    return null\n  }\n\n  const md = new Remarkable({\n    html: true,\n    typographer: true,\n    breaks: true,\n    linkTarget: \"_blank\"\n  }).use(linkify)\n\n  md.core.ruler.disable([\"replacements\", \"smartquotes\"])\n\n  const { useUnsafeMarkdown } = getConfigs()\n  const html = md.render(source)\n  const sanitized = sanitizer(html, { useUnsafeMarkdown })\n\n  if (!source || !html || !sanitized) {\n    return null\n  }\n\n  return (\n    <div className={cx(className, \"markdown\")} dangerouslySetInnerHTML={{ __html: sanitized }}></div>\n  )\n}\n\nMarkdown.propTypes = {\n  source: PropTypes.string.isRequired,\n  className: PropTypes.string,\n  getConfigs: PropTypes.func,\n}\n\nexport default Markdown\n\nexport function sanitizer(str, { useUnsafeMarkdown = false } = {}) {\n  const ALLOW_DATA_ATTR = useUnsafeMarkdown\n  const FORBID_ATTR = useUnsafeMarkdown ? [] : [\"style\", \"class\"]\n\n  if (useUnsafeMarkdown && !sanitizer.hasWarnedAboutDeprecation) {\n    console.warn(`useUnsafeMarkdown display configuration parameter is deprecated since >3.26.0 and will be removed in v4.0.0.`)\n    sanitizer.hasWarnedAboutDeprecation = true\n  }\n\n  return DomPurify.sanitize(str, {\n    ADD_ATTR: [\"target\"],\n    FORBID_TAGS: [\"style\", \"form\"],\n    ALLOW_DATA_ATTR,\n    FORBID_ATTR,\n  })\n}\nsanitizer.hasWarnedAboutDeprecation = false\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class BaseLayout extends React.Component {\n  static propTypes = {\n    errSelectors: PropTypes.object.isRequired,\n    errActions: PropTypes.object.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    oas3Selectors: PropTypes.object.isRequired,\n    oas3Actions: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired,\n  }\n\n  render() {\n    const { errSelectors, specSelectors, getComponent } = this.props\n\n    const SvgAssets = getComponent(\"SvgAssets\")\n    const InfoContainer = getComponent(\"InfoContainer\", true)\n    const VersionPragmaFilter = getComponent(\"VersionPragmaFilter\")\n    const Operations = getComponent(\"operations\", true)\n    const Models = getComponent(\"Models\", true)\n    const Webhooks = getComponent(\"Webhooks\", true)\n    const Row = getComponent(\"Row\")\n    const Col = getComponent(\"Col\")\n    const Errors = getComponent(\"errors\", true)\n\n    const ServersContainer = getComponent(\"ServersContainer\", true)\n    const SchemesContainer = getComponent(\"SchemesContainer\", true)\n    const AuthorizeBtnContainer = getComponent(\"AuthorizeBtnContainer\", true)\n    const FilterContainer = getComponent(\"FilterContainer\", true)\n    const isSwagger2 = specSelectors.isSwagger2()\n    const isOAS3 = specSelectors.isOAS3()\n    const isOAS31 = specSelectors.isOAS31()\n\n    const isSpecEmpty = !specSelectors.specStr()\n\n    const loadingStatus = specSelectors.loadingStatus()\n\n    let loadingMessage = null\n\n    if (loadingStatus === \"loading\") {\n      loadingMessage = (\n        <div className=\"info\">\n          <div className=\"loading-container\">\n            <div className=\"loading\"></div>\n          </div>\n        </div>\n      )\n    }\n\n    if (loadingStatus === \"failed\") {\n      loadingMessage = (\n        <div className=\"info\">\n          <div className=\"loading-container\">\n            <h4 className=\"title\">Failed to load API definition.</h4>\n            <Errors />\n          </div>\n        </div>\n      )\n    }\n\n    if (loadingStatus === \"failedConfig\") {\n      const lastErr = errSelectors.lastError()\n      const lastErrMsg = lastErr ? lastErr.get(\"message\") : \"\"\n      loadingMessage = (\n        <div className=\"info failed-config\">\n          <div className=\"loading-container\">\n            <h4 className=\"title\">Failed to load remote configuration.</h4>\n            <p>{lastErrMsg}</p>\n          </div>\n        </div>\n      )\n    }\n\n    if (!loadingMessage && isSpecEmpty) {\n      loadingMessage = <h4>No API definition provided.</h4>\n    }\n\n    if (loadingMessage) {\n      return (\n        <div className=\"swagger-ui\">\n          <div className=\"loading-container\">{loadingMessage}</div>\n        </div>\n      )\n    }\n\n    const servers = specSelectors.servers()\n    const schemes = specSelectors.schemes()\n\n    const hasServers = servers && servers.size\n    const hasSchemes = schemes && schemes.size\n    const hasSecurityDefinitions = !!specSelectors.securityDefinitions()\n\n    return (\n      <div className=\"swagger-ui\">\n        <SvgAssets />\n        <VersionPragmaFilter\n          isSwagger2={isSwagger2}\n          isOAS3={isOAS3}\n          alsoShow={<Errors />}\n        >\n          <Errors />\n          <Row className=\"information-container\">\n            <Col mobile={12}>\n              <InfoContainer />\n            </Col>\n          </Row>\n\n          {hasServers || hasSchemes || hasSecurityDefinitions ? (\n            <div className=\"scheme-container\">\n              <Col className=\"schemes wrapper\" mobile={12}>\n                {hasServers || hasSchemes ? (\n                  <div className=\"schemes-server-container\">\n                    {hasServers ? <ServersContainer /> : null}\n                    {hasSchemes ? <SchemesContainer /> : null}\n                  </div>\n                ) : null}\n                {hasSecurityDefinitions ? <AuthorizeBtnContainer /> : null}\n              </Col>\n            </div>\n          ) : null}\n\n          <FilterContainer />\n\n          <Row>\n            <Col mobile={12} desktop={12}>\n              <Operations />\n            </Col>\n          </Row>\n\n          {isOAS31 && (\n            <Row className=\"webhooks-container\">\n              <Col mobile={12} desktop={12}>\n                <Webhooks />\n              </Col>\n            </Row>\n          )}\n\n          <Row>\n            <Col mobile={12} desktop={12}>\n              <Models />\n            </Col>\n          </Row>\n        </VersionPragmaFilter>\n      </div>\n    )\n  }\n}\n","/**\n * @prettier\n */\nimport App from \"core/components/app\"\nimport AuthorizationPopup from \"core/components/auth/authorization-popup\"\nimport AuthorizeBtn from \"core/components/auth/authorize-btn\"\nimport AuthorizeBtnContainer from \"core/containers/authorize-btn\"\nimport AuthorizeOperationBtn from \"core/components/auth/authorize-operation-btn\"\nimport Auths from \"core/components/auth/auths\"\nimport AuthItem from \"core/components/auth/auth-item\"\nimport AuthError from \"core/components/auth/error\"\nimport ApiKeyAuth from \"core/components/auth/api-key-auth\"\nimport BasicAuth from \"core/components/auth/basic-auth\"\nimport Example from \"core/components/example\"\nimport ExamplesSelect from \"core/components/examples-select\"\nimport ExamplesSelectValueRetainer from \"core/components/examples-select-value-retainer\"\nimport Oauth2 from \"core/components/auth/oauth2\"\nimport Clear from \"core/components/clear\"\nimport LiveResponse from \"core/components/live-response\"\nimport OnlineValidatorBadge from \"core/components/online-validator-badge\"\nimport Operations from \"core/components/operations\"\nimport OperationTag from \"core/components/operation-tag\"\nimport Operation from \"core/components/operation\"\nimport OperationContainer from \"core/containers/OperationContainer\"\nimport OperationSummary from \"core/components/operation-summary\"\nimport OperationSummaryMethod from \"core/components/operation-summary-method\"\nimport OperationSummaryPath from \"core/components/operation-summary-path\"\nimport OperationExt from \"core/components/operation-extensions\"\nimport OperationExtRow from \"core/components/operation-extension-row\"\nimport Responses from \"core/components/responses\"\nimport Response from \"core/components/response\"\nimport ResponseExtension from \"core/components/response-extension\"\nimport ResponseBody from \"core/components/response-body\"\nimport { Parameters } from \"core/components/parameters\"\nimport ParameterExt from \"core/components/parameter-extension\"\nimport ParameterIncludeEmpty from \"core/components/parameter-include-empty\"\nimport ParameterRow from \"core/components/parameter-row\"\nimport Execute from \"core/components/execute\"\nimport Headers from \"core/components/headers\"\nimport Errors from \"core/components/errors\"\nimport ContentType from \"core/components/content-type\"\nimport Overview from \"core/components/overview\"\nimport InitializedInput from \"core/components/initialized-input\"\nimport Info, { InfoUrl, InfoBasePath } from \"core/components/info\"\nimport InfoContainer from \"core/containers/info\"\nimport Contact from \"core/components/contact\"\nimport License from \"core/components/license\"\nimport JumpToPath from \"core/components/jump-to-path\"\nimport CopyToClipboardBtn from \"core/components/copy-to-clipboard-btn\"\nimport Footer from \"core/components/footer\"\nimport FilterContainer from \"core/containers/filter\"\nimport ParamBody from \"core/components/param-body\"\nimport Curl from \"core/components/curl\"\nimport Property from \"core/components/property\"\nimport TryItOutButton from \"core/components/try-it-out-button\"\nimport VersionPragmaFilter from \"core/components/version-pragma-filter\"\nimport VersionStamp from \"core/components/version-stamp\"\nimport OpenAPIVersion from \"core/components/openapi-version\"\nimport DeepLink from \"core/components/deep-link\"\nimport SvgAssets from \"core/components/svg-assets\"\nimport Markdown from \"core/components/providers/markdown\"\nimport BaseLayout from \"core/components/layouts/base\"\n\nconst CoreComponentsPlugin = () => ({\n  components: {\n    App,\n    authorizationPopup: AuthorizationPopup,\n    authorizeBtn: AuthorizeBtn,\n    AuthorizeBtnContainer,\n    authorizeOperationBtn: AuthorizeOperationBtn,\n    auths: Auths,\n    AuthItem: AuthItem,\n    authError: AuthError,\n    oauth2: Oauth2,\n    apiKeyAuth: ApiKeyAuth,\n    basicAuth: BasicAuth,\n    clear: Clear,\n    liveResponse: LiveResponse,\n    InitializedInput,\n    info: Info,\n    InfoContainer,\n    InfoUrl,\n    InfoBasePath,\n    Contact,\n    License,\n    JumpToPath,\n    CopyToClipboardBtn,\n    onlineValidatorBadge: OnlineValidatorBadge,\n    operations: Operations,\n    operation: Operation,\n    OperationSummary,\n    OperationSummaryMethod,\n    OperationSummaryPath,\n    responses: Responses,\n    response: Response,\n    ResponseExtension: ResponseExtension,\n    responseBody: ResponseBody,\n    parameters: Parameters,\n    parameterRow: ParameterRow,\n    execute: Execute,\n    headers: Headers,\n    errors: Errors,\n    contentType: ContentType,\n    overview: Overview,\n    footer: Footer,\n    FilterContainer,\n    ParamBody: ParamBody,\n    curl: Curl,\n    Property,\n    TryItOutButton,\n    Markdown,\n    BaseLayout,\n    VersionPragmaFilter,\n    VersionStamp,\n    OperationExt,\n    OperationExtRow,\n    ParameterExt,\n    ParameterIncludeEmpty,\n    OperationTag,\n    OperationContainer,\n    OpenAPIVersion,\n    DeepLink,\n    SvgAssets,\n    Example,\n    ExamplesSelect,\n    ExamplesSelectValueRetainer,\n  },\n})\n\nexport default CoreComponentsPlugin\n","/**\n * @prettier\n */\nimport * as LayoutUtils from \"core/components/layout-utils\"\n\nconst FormComponentsPlugin = () => ({\n  components: { ...LayoutUtils },\n})\n\nexport default FormComponentsPlugin\n","/**\n * @prettier\n */\nimport AuthPlugin from \"core/plugins/auth/\"\nimport ConfigsPlugin from \"core/plugins/configs\"\nimport DeepLinkingPlugin from \"core/plugins/deep-linking\"\nimport ErrPlugin from \"core/plugins/err\"\nimport FilterPlugin from \"core/plugins/filter\"\nimport IconsPlugin from \"core/plugins/icons\"\nimport LayoutPlugin from \"core/plugins/layout\"\nimport LogsPlugin from \"core/plugins/logs\"\nimport OnCompletePlugin from \"core/plugins/on-complete\"\nimport RequestSnippetsPlugin from \"core/plugins/request-snippets\"\nimport JSONSchema5Plugin from \"core/plugins/json-schema-5\"\nimport JSONSchema5SamplesPlugin from \"core/plugins/json-schema-5-samples\"\nimport SpecPlugin from \"core/plugins/spec\"\nimport SwaggerClientPlugin from \"core/plugins/swagger-client\"\nimport UtilPlugin from \"core/plugins/util\"\nimport ViewPlugin from \"core/plugins/view\"\nimport ViewLegacyPlugin from \"core/plugins/view-legacy\"\nimport DownloadUrlPlugin from \"core/plugins/download-url\"\nimport SyntaxHighlightingPlugin from \"core/plugins/syntax-highlighting\"\nimport VersionsPlugin from \"core/plugins/versions\"\nimport SafeRenderPlugin from \"core/plugins/safe-render\"\n// ad-hoc plugins\nimport CoreComponentsPlugin from \"core/presets/base/plugins/core-components\"\nimport FormComponentsPlugin from \"core/presets/base/plugins/form-components\"\n\nconst BasePreset = () => [\n  ConfigsPlugin,\n  UtilPlugin,\n  LogsPlugin,\n  ViewPlugin,\n  ViewLegacyPlugin,\n  SpecPlugin,\n  ErrPlugin,\n  IconsPlugin,\n  LayoutPlugin,\n  JSONSchema5Plugin,\n  JSONSchema5SamplesPlugin,\n  CoreComponentsPlugin,\n  FormComponentsPlugin,\n  SwaggerClientPlugin,\n  AuthPlugin,\n  DownloadUrlPlugin,\n  DeepLinkingPlugin,\n  FilterPlugin,\n  OnCompletePlugin,\n  RequestSnippetsPlugin,\n  SyntaxHighlightingPlugin,\n  VersionsPlugin,\n  SafeRenderPlugin(),\n]\n\nexport default BasePreset\n","/**\n * @prettier\n */\nimport { createSelector } from \"reselect\"\nimport constant from \"lodash/constant\"\nimport { specJsonWithResolvedSubtrees } from \"../../spec/selectors\"\nimport { Map } from \"immutable\"\n\n/**\n * Helpers\n */\n\nconst map = Map()\n\nfunction onlyOAS3(selector) {\n  return (ori, system) =>\n    (...args) => {\n      if (system.getSystem().specSelectors.isOAS3()) {\n        const result = selector(...args)\n        return typeof result === \"function\" ? result(system) : result\n      } else {\n        return ori(...args)\n      }\n    }\n}\n\nconst nullSelector = constant(null)\n\nconst OAS3NullSelector = onlyOAS3(nullSelector)\n\n/**\n * Wrappers\n */\n\nexport const findDefinition = onlyOAS3((state, schemaName) => (system) => {\n  return system.getSystem().specSelectors.findSchema(schemaName)\n})\n\nexport const definitions = onlyOAS3(() => (system) => {\n  const spec = system.getSystem().specSelectors.specJson()\n  const schemas = spec.getIn([\"components\", \"schemas\"])\n  return Map.isMap(schemas) ? schemas : map\n})\n\nexport const hasHost = onlyOAS3(() => (system) => {\n  const spec = system.getSystem().specSelectors.specJson()\n  return spec.hasIn([\"servers\", 0])\n})\n\nexport const securityDefinitions = onlyOAS3(\n  createSelector(\n    specJsonWithResolvedSubtrees,\n    (spec) => spec.getIn([\"components\", \"securitySchemes\"]) || null\n  )\n)\n\nexport const validOperationMethods =\n  (oriSelector, system) =>\n  (state, ...args) => {\n    if (system.specSelectors.isOAS3()) {\n      return system.oas3Selectors.validOperationMethods()\n    }\n\n    return oriSelector(...args)\n  }\n\nexport const host = OAS3NullSelector\nexport const basePath = OAS3NullSelector\nexport const consumes = OAS3NullSelector\nexport const produces = OAS3NullSelector\nexport const schemes = OAS3NullSelector\n","import { createSelector } from \"reselect\"\nimport { List, Map, fromJS } from \"immutable\"\n\n\n// Helpers\n\nconst state = state => state\n\nfunction onlyOAS3(selector) {\n  return (ori, system) => (...args) => {\n    if(system.getSystem().specSelectors.isOAS3()) {\n      // Pass the spec plugin state to Reselect to trigger on securityDefinitions update\n      let resolvedSchemes = system.getState().getIn([\"spec\", \"resolvedSubtrees\",\n        \"components\", \"securitySchemes\"])\n      return selector(system, resolvedSchemes, ...args)\n    } else {\n      return ori(...args)\n    }\n  }\n}\n\nexport const definitionsToAuthorize = onlyOAS3(createSelector(\n    state,\n    ({specSelectors}) => specSelectors.securityDefinitions(),\n    (system, definitions) => {\n      // Coerce our OpenAPI 3.0 definitions into monoflow definitions\n      // that look like Swagger2 definitions.\n      let list = List()\n\n      if(!definitions) {\n        return list\n      }\n\n      definitions.entrySeq().forEach( ([ defName, definition ]) => {\n        const type = definition.get(\"type\")\n\n        if(type === \"oauth2\") {\n          definition.get(\"flows\").entrySeq().forEach(([flowKey, flowVal]) => {\n            let translatedDef = fromJS({\n              flow: flowKey,\n              authorizationUrl: flowVal.get(\"authorizationUrl\"),\n              tokenUrl: flowVal.get(\"tokenUrl\"),\n              scopes: flowVal.get(\"scopes\"),\n              type: definition.get(\"type\"),\n              description: definition.get(\"description\")\n            })\n\n            list = list.push(new Map({\n              [defName]: translatedDef.filter((v) => {\n                // filter out unset values, sometimes `authorizationUrl`\n                // and `tokenUrl` come out as `undefined` in the data\n                return v !== undefined\n              })\n            }))\n          })\n        }\n        if(type === \"http\" || type === \"apiKey\") {\n          list = list.push(new Map({\n            [defName]: definition\n          }))\n        }\n        if(type === \"openIdConnect\" && definition.get(\"openIdConnectData\")) {\n          let oidcData = definition.get(\"openIdConnectData\")\n          let grants = oidcData.get(\"grant_types_supported\") || [\"authorization_code\", \"implicit\"]\n          grants.forEach((grant) => {\n            // Convert from OIDC list of scopes to the OAS-style map with empty descriptions\n            let translatedScopes = oidcData.get(\"scopes_supported\") &&\n              oidcData.get(\"scopes_supported\").reduce((acc, cur) => acc.set(cur, \"\"), new Map())\n\n            let translatedDef = fromJS({\n              flow: grant,\n              authorizationUrl: oidcData.get(\"authorization_endpoint\"),\n              tokenUrl: oidcData.get(\"token_endpoint\"),\n              scopes: translatedScopes,\n              type: \"oauth2\",\n              openIdConnectUrl: definition.get(\"openIdConnectUrl\")\n            })\n\n            list = list.push(new Map({\n              [defName]: translatedDef.filter((v) => {\n                // filter out unset values, sometimes `authorizationUrl`\n                // and `tokenUrl` come out as `undefined` in the data\n                return v !== undefined\n              })\n            }))\n          })\n        }\n      })\n\n      return list\n    }\n))\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nexport function isOAS30(jsSpec) {\n  const oasVersion = jsSpec.get(\"openapi\")\n\n  return (\n    typeof oasVersion === \"string\" && /^3\\.0\\.(?:[1-9]\\d*|0)$/.test(oasVersion)\n  )\n}\n\nexport function isSwagger2(jsSpec) {\n  const swaggerVersion = jsSpec.get(\"swagger\")\n\n  return typeof swaggerVersion === \"string\" && swaggerVersion === \"2.0\"\n}\n\nexport function OAS3ComponentWrapFactory(Component) {\n  return (Ori, system) => (props) => {\n    if (typeof system.specSelectors?.isOAS3 === \"function\") {\n      if (system.specSelectors.isOAS3()) {\n        return <Component {...props} {...system} Ori={Ori}></Component>\n      } else {\n        return <Ori {...props}></Ori>\n      }\n    } else {\n      console.warn(\"OAS3 wrapper: couldn't get spec\")\n      return null\n    }\n  }\n}\n\nexport function OAS30ComponentWrapFactory(Component) {\n  return (Ori, system) => (props) => {\n    if (typeof system.specSelectors?.isOAS30 === \"function\") {\n      if (system.specSelectors.isOAS30()) {\n        return <Component {...props} {...system} Ori={Ori}></Component>\n      } else {\n        return <Ori {...props}></Ori>\n      }\n    } else {\n      console.warn(\"OAS30 wrapper: couldn't get spec\")\n      return null\n    }\n  }\n}\n","/**\n * @prettier\n */\nimport { List, Map } from \"immutable\"\n\nimport {\n  isSwagger2 as isSwagger2Helper,\n  isOAS30 as isOAS30Helper,\n} from \"../helpers\"\n\n/**\n * Helpers\n */\n\nconst map = Map()\n\nexport const isSwagger2 = () => (system) => {\n  const spec = system.getSystem().specSelectors.specJson()\n  return isSwagger2Helper(spec)\n}\n\nexport const isOAS30 = () => (system) => {\n  const spec = system.getSystem().specSelectors.specJson()\n  return isOAS30Helper(spec)\n}\n\nexport const isOAS3 = () => (system) => {\n  return system.getSystem().specSelectors.isOAS30()\n}\n\nfunction onlyOAS3(selector) {\n  return (state, ...args) =>\n    (system) => {\n      if (system.specSelectors.isOAS3()) {\n        const selectedValue = selector(state, ...args)\n        return typeof selectedValue === \"function\"\n          ? selectedValue(system)\n          : selectedValue\n      } else {\n        return null\n      }\n    }\n}\n\nexport const servers = onlyOAS3(() => (system) => {\n  const spec = system.specSelectors.specJson()\n  return spec.get(\"servers\", map)\n})\n\nexport const findSchema = (state, schemaName) => {\n  const resolvedSchema = state.getIn(\n    [\"resolvedSubtrees\", \"components\", \"schemas\", schemaName],\n    null\n  )\n  const unresolvedSchema = state.getIn([\"json\", \"components\", \"schemas\", schemaName], null)\n\n  return resolvedSchema || unresolvedSchema || null\n}\n\nexport const callbacksOperations = onlyOAS3(\n  (state, { callbacks, specPath }) =>\n    (system) => {\n      const validOperationMethods = system.specSelectors.validOperationMethods()\n\n      if (!Map.isMap(callbacks)) return {}\n\n      return callbacks\n        .reduce((allOperations, callback, callbackName) => {\n          if (!Map.isMap(callback)) return allOperations\n\n          const callbackOperations = callback.reduce(\n            (callbackOps, pathItem, expression) => {\n              if (!Map.isMap(pathItem)) return callbackOps\n\n              const pathItemOperations = pathItem\n                .entrySeq()\n                .filter(([key]) => validOperationMethods.includes(key))\n                .map(([method, operation]) => ({\n                  operation: Map({ operation }),\n                  method,\n                  path: expression,\n                  callbackName,\n                  specPath: specPath.concat([callbackName, expression, method]),\n                }))\n\n              return callbackOps.concat(pathItemOperations)\n            },\n            List()\n          )\n\n          return allOperations.concat(callbackOperations)\n        }, List())\n        .groupBy((operationDTO) => operationDTO.callbackName)\n        .map((operations) => operations.toArray())\n        .toObject()\n    }\n)\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst Callbacks = ({ callbacks, specPath, specSelectors, getComponent }) => {\n  const operationDTOs = specSelectors.callbacksOperations({\n    callbacks,\n    specPath,\n  })\n  const callbackNames = Object.keys(operationDTOs)\n\n  const OperationContainer = getComponent(\"OperationContainer\", true)\n\n  if (callbackNames.length === 0) return <span>No callbacks</span>\n\n  return (\n    <div>\n      {callbackNames.map((callbackName) => (\n        <div key={`${callbackName}`}>\n          <h2>{callbackName}</h2>\n\n          {operationDTOs[callbackName].map((operationDTO) => (\n            <OperationContainer\n              key={`${callbackName}-${operationDTO.path}-${operationDTO.method}`}\n              op={operationDTO.operation}\n              tag=\"callbacks\"\n              method={operationDTO.method}\n              path={operationDTO.path}\n              specPath={operationDTO.specPath}\n              allowTryItOut={false}\n            />\n          ))}\n        </div>\n      ))}\n    </div>\n  )\n}\n\nCallbacks.propTypes = {\n  getComponent: PropTypes.func.isRequired,\n  specSelectors: PropTypes.shape({\n    callbacksOperations: PropTypes.func.isRequired,\n  }).isRequired,\n  callbacks: ImPropTypes.iterable.isRequired,\n  specPath: ImPropTypes.list.isRequired,\n}\n\nexport default Callbacks\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { Map, OrderedMap, List, fromJS } from \"immutable\"\nimport { getCommonExtensions, stringify, isEmptyValue } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\nexport const getDefaultRequestBodyValue = (requestBody, mediaType, activeExamplesKey, fn) => {\n  const mediaTypeValue = requestBody.getIn([\"content\", mediaType]) ?? OrderedMap()\n  const schema = mediaTypeValue.get(\"schema\", OrderedMap()).toJS()\n\n  const hasExamplesKey = mediaTypeValue.get(\"examples\") !== undefined\n  const exampleSchema = mediaTypeValue.get(\"example\")\n  const mediaTypeExample = hasExamplesKey\n    ? mediaTypeValue.getIn([\n      \"examples\",\n      activeExamplesKey,\n      \"value\"\n    ])\n    : exampleSchema\n\n  const exampleValue = fn.getSampleSchema(\n    schema,\n    mediaType,\n    {\n      includeWriteOnly: true\n    },\n    mediaTypeExample\n  )\n  return stringify(exampleValue)\n}\n\n\n\nconst RequestBody = ({\n  userHasEditedBody,\n  requestBody,\n  requestBodyValue,\n  requestBodyInclusionSetting,\n  requestBodyErrors,\n  getComponent,\n  getConfigs,\n  specSelectors,\n  fn,\n  contentType,\n  isExecute,\n  specPath,\n  onChange,\n  onChangeIncludeEmpty,\n  activeExamplesKey,\n  updateActiveExamplesKey,\n  setRetainRequestBodyValueFlag\n}) => {\n  const handleFile = (e) => {\n    onChange(e.target.files[0])\n  }\n  const setIsIncludedOptions = (key) => {\n    let options = {\n      key,\n      shouldDispatchInit: false,\n      defaultValue: true\n    }\n    let currentInclusion = requestBodyInclusionSetting.get(key, \"no value\")\n    if (currentInclusion === \"no value\") {\n      options.shouldDispatchInit = true\n      // future: can get/set defaultValue from a config setting\n    }\n    return options\n  }\n\n  const Markdown = getComponent(\"Markdown\", true)\n  const ModelExample = getComponent(\"modelExample\")\n  const RequestBodyEditor = getComponent(\"RequestBodyEditor\")\n  const HighlightCode = getComponent(\"HighlightCode\", true)\n  const ExamplesSelectValueRetainer = getComponent(\"ExamplesSelectValueRetainer\")\n  const Example = getComponent(\"Example\")\n  const ParameterIncludeEmpty = getComponent(\"ParameterIncludeEmpty\")\n\n  const { showCommonExtensions } = getConfigs()\n\n  const requestBodyDescription = requestBody?.get(\"description\") ?? null\n  const requestBodyContent = requestBody?.get(\"content\") ?? new OrderedMap()\n  contentType = contentType || requestBodyContent.keySeq().first() || \"\"\n\n  const mediaTypeValue = requestBodyContent.get(contentType) ?? OrderedMap()\n  const schemaForMediaType = mediaTypeValue.get(\"schema\", OrderedMap())\n  const rawExamplesOfMediaType = mediaTypeValue.get(\"examples\", null)\n  const sampleForMediaType = rawExamplesOfMediaType?.map((container, key) => {\n    const val = container?.get(\"value\", null)\n    if(val) {\n      container = container.set(\"value\", getDefaultRequestBodyValue(\n        requestBody,\n        contentType,\n        key,\n        fn,\n      ), val)\n    }\n    return container\n  })\n\n  const handleExamplesSelect = (key /*, { isSyntheticChange } */) => {\n    updateActiveExamplesKey(key)\n  }\n  requestBodyErrors = List.isList(requestBodyErrors) ? requestBodyErrors : List()\n\n  if(!mediaTypeValue.size) {\n    return null\n  }\n\n  const isObjectContent = mediaTypeValue.getIn([\"schema\", \"type\"]) === \"object\"\n  const isBinaryFormat = mediaTypeValue.getIn([\"schema\", \"format\"]) === \"binary\"\n  const isBase64Format = mediaTypeValue.getIn([\"schema\", \"format\"]) === \"base64\"\n\n  if(\n    contentType === \"application/octet-stream\"\n    || contentType.indexOf(\"image/\") === 0\n    || contentType.indexOf(\"audio/\") === 0\n    || contentType.indexOf(\"video/\") === 0\n    || isBinaryFormat\n    || isBase64Format\n  ) {\n    const Input = getComponent(\"Input\")\n\n    if(!isExecute) {\n      return <i>\n        Example values are not available for <code>{contentType}</code> media types.\n      </i>\n    }\n\n    return <Input type={\"file\"} onChange={handleFile} />\n  }\n\n  if (\n    isObjectContent &&\n    (\n      contentType === \"application/x-www-form-urlencoded\" ||\n      contentType.indexOf(\"multipart/\") === 0\n    ) &&\n    schemaForMediaType.get(\"properties\", OrderedMap()).size > 0\n  ) {\n    const JsonSchemaForm = getComponent(\"JsonSchemaForm\")\n    const ParameterExt = getComponent(\"ParameterExt\")\n    const bodyProperties = schemaForMediaType.get(\"properties\", OrderedMap())\n    requestBodyValue = Map.isMap(requestBodyValue) ? requestBodyValue : OrderedMap()\n\n    return <div className=\"table-container\">\n      { requestBodyDescription &&\n        <Markdown source={requestBodyDescription} />\n      }\n      <table>\n        <tbody>\n          {\n            Map.isMap(bodyProperties) && bodyProperties.entrySeq().map(([key, schema]) => {\n              if (schema.get(\"readOnly\")) return\n\n              const oneOf = schema.get(\"oneOf\")?.get(0)?.toJS()\n              const anyOf = schema.get(\"anyOf\")?.get(0)?.toJS()\n              schema = fromJS(fn.mergeJsonSchema(schema.toJS(), oneOf ?? anyOf ?? {}))\n\n              let commonExt = showCommonExtensions ? getCommonExtensions(schema) : null\n              const required = schemaForMediaType.get(\"required\", List()).includes(key)\n              const type = schema.get(\"type\")\n              const format = schema.get(\"format\")\n              const description = schema.get(\"description\")\n              const currentValue = requestBodyValue.getIn([key, \"value\"])\n              const currentErrors = requestBodyValue.getIn([key, \"errors\"]) || requestBodyErrors\n              const included = requestBodyInclusionSetting.get(key) || false\n\n              let initialValue = fn.getSampleSchema(schema, false, {\n                includeWriteOnly: true\n              })\n\n              if (initialValue === false) {\n                initialValue = \"false\"\n              }\n\n              if (initialValue === 0) {\n                initialValue = \"0\"\n              }\n\n              if (typeof initialValue !== \"string\" && type === \"object\") {\n               initialValue = stringify(initialValue)\n              }\n\n              if (typeof initialValue === \"string\" && type === \"array\") {\n                initialValue = JSON.parse(initialValue)\n              }\n\n              const isFile = type === \"string\" && (format === \"binary\" || format === \"base64\")\n\n              return <tr key={key} className=\"parameters\" data-property-name={key}>\n              <td className=\"parameters-col_name\">\n                <div className={required ? \"parameter__name required\" : \"parameter__name\"}>\n                  { key }\n                  { !required ? null : <span>&nbsp;*</span> }\n                </div>\n                <div className=\"parameter__type\">\n                  { type }\n                  { format && <span className=\"prop-format\">(${format})</span>}\n                  {!showCommonExtensions || !commonExt.size ? null : commonExt.entrySeq().map(([key, v]) => <ParameterExt key={`${key}-${v}`} xKey={key} xVal={v} />)}\n                </div>\n                <div className=\"parameter__deprecated\">\n                  { schema.get(\"deprecated\") ? \"deprecated\": null }\n                </div>\n              </td>\n              <td className=\"parameters-col_description\">\n                <Markdown source={ description }></Markdown>\n                {isExecute ? <div>\n                  <JsonSchemaForm\n                    fn={fn}\n                    dispatchInitialValue={!isFile}\n                    schema={schema}\n                    description={key}\n                    getComponent={getComponent}\n                    value={currentValue === undefined ? initialValue : currentValue}\n                    required = { required }\n                    errors = { currentErrors }\n                    onChange={(value) => {\n                      onChange(value, [key])\n                    }}\n                  />\n                  {required ? null : (\n                    <ParameterIncludeEmpty\n                      onChange={(value) => onChangeIncludeEmpty(key, value)}\n                      isIncluded={included}\n                      isIncludedOptions={setIsIncludedOptions(key)}\n                      isDisabled={Array.isArray(currentValue) ? currentValue.length !== 0 : !isEmptyValue(currentValue)}\n                    />\n                  )}\n                </div> : null }\n              </td>\n              </tr>\n            })\n          }\n        </tbody>\n      </table>\n    </div>\n  }\n\n  const sampleRequestBody = getDefaultRequestBodyValue(\n    requestBody,\n    contentType,\n    activeExamplesKey,\n    fn,\n  )\n  let language = null\n  let testValueForJson = getKnownSyntaxHighlighterLanguage(sampleRequestBody)\n  if (testValueForJson) {\n    language = \"json\"\n  }\n\n  return <div>\n    { requestBodyDescription &&\n      <Markdown source={requestBodyDescription} />\n    }\n    {\n      sampleForMediaType ? (\n        <ExamplesSelectValueRetainer\n            userHasEditedBody={userHasEditedBody}\n            examples={sampleForMediaType}\n            currentKey={activeExamplesKey}\n            currentUserInputValue={requestBodyValue}\n            onSelect={handleExamplesSelect}\n            updateValue={onChange}\n            defaultToFirstExample={true}\n            getComponent={getComponent}\n            setRetainRequestBodyValueFlag={setRetainRequestBodyValueFlag}\n          />\n      ) : null\n    }\n    {\n      isExecute ? (\n        <div>\n          <RequestBodyEditor\n            value={requestBodyValue}\n            errors={requestBodyErrors}\n            defaultValue={sampleRequestBody}\n            onChange={onChange}\n            getComponent={getComponent}\n          />\n        </div>\n      ) : (\n        <ModelExample\n          getComponent={ getComponent }\n          getConfigs={ getConfigs }\n          specSelectors={ specSelectors }\n          expandDepth={1}\n          isExecute={isExecute}\n          schema={mediaTypeValue.get(\"schema\")}\n          specPath={specPath.push(\"content\", contentType)}\n          example={\n            <HighlightCode className=\"body-param__example\" language={language}>\n              {stringify(requestBodyValue) || sampleRequestBody}\n            </HighlightCode>\n          }\n          includeWriteOnly={true}\n        />\n      )\n    }\n    {\n      sampleForMediaType ? (\n        <Example\n          example={sampleForMediaType.get(activeExamplesKey)}\n          getComponent={getComponent}\n          getConfigs={getConfigs}\n        />\n      ) : null\n    }\n  </div>\n}\n\nRequestBody.propTypes = {\n  userHasEditedBody: PropTypes.bool.isRequired,\n  requestBody: ImPropTypes.orderedMap.isRequired,\n  requestBodyValue: ImPropTypes.orderedMap.isRequired,\n  requestBodyInclusionSetting: ImPropTypes.map.isRequired,\n  requestBodyErrors: ImPropTypes.list.isRequired,\n  getComponent: PropTypes.func.isRequired,\n  getConfigs: PropTypes.func.isRequired,\n  fn: PropTypes.object.isRequired,\n  specSelectors: PropTypes.object.isRequired,\n  contentType: PropTypes.string,\n  isExecute: PropTypes.bool.isRequired,\n  onChange: PropTypes.func.isRequired,\n  onChangeIncludeEmpty: PropTypes.func.isRequired,\n  specPath: PropTypes.array.isRequired,\n  activeExamplesKey: PropTypes.string,\n  updateActiveExamplesKey: PropTypes.func,\n  setRetainRequestBodyValueFlag: PropTypes.func,\n  oas3Actions: PropTypes.object.isRequired\n}\n\nexport default RequestBody\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nclass OperationLink extends Component {\n  render() {\n    const { link, name, getComponent } = this.props\n\n    const Markdown = getComponent(\"Markdown\", true)\n\n    let targetOp = link.get(\"operationId\") || link.get(\"operationRef\")\n    let parameters = link.get(\"parameters\") && link.get(\"parameters\").toJS()\n    let description = link.get(\"description\")\n\n    return <div className=\"operation-link\">\n      <div className=\"description\">\n        <b><code>{name}</code></b>\n        { description ? <Markdown source={description}></Markdown> : null }\n      </div>\n      <pre>\n        Operation `{targetOp}`<br /><br />\n        Parameters {padString(0, JSON.stringify(parameters, null, 2)) || \"{}\"}<br />\n      </pre>\n    </div>\n  }\n\n}\n\nfunction padString(n, string) {\n  if(typeof string !== \"string\") { return \"\" }\n  return string\n    .split(\"\\n\")\n    .map((line, i) => i > 0 ? Array(n + 1).join(\" \") + line : line)\n    .join(\"\\n\")\n}\n\nOperationLink.propTypes = {\n  getComponent: PropTypes.func.isRequired,\n  link: ImPropTypes.orderedMap.isRequired,\n  name: PropTypes.String\n}\n\nexport default OperationLink\n","/**\n * @prettier\n */\nimport React, { useCallback, useEffect } from \"react\"\nimport { OrderedMap } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst Servers = ({\n  servers,\n  currentServer,\n  setSelectedServer,\n  setServerVariableValue,\n  getServerVariable,\n  getEffectiveServerValue,\n}) => {\n  const currentServerDefinition =\n    servers.find((s) => s.get(\"url\") === currentServer) || OrderedMap()\n  const currentServerVariableDefs =\n    currentServerDefinition.get(\"variables\") || OrderedMap()\n  const shouldShowVariableUI = currentServerVariableDefs.size !== 0\n\n  useEffect(() => {\n    if (currentServer) return\n\n    // fire 'change' event to set default 'value' of select\n    setSelectedServer(servers.first()?.get(\"url\"))\n  }, [])\n\n  useEffect(() => {\n    // server has changed, we may need to set default values\n    const currentServerDefinition = servers.find(\n      (server) => server.get(\"url\") === currentServer\n    )\n    if (!currentServerDefinition) {\n      setSelectedServer(servers.first().get(\"url\"))\n      return\n    }\n\n    const currentServerVariableDefs =\n      currentServerDefinition.get(\"variables\") || OrderedMap()\n    currentServerVariableDefs.map((val, key) => {\n      setServerVariableValue({\n        server: currentServer,\n        key,\n        val: val.get(\"default\") || \"\",\n      })\n    })\n  }, [currentServer, servers])\n\n  const handleServerChange = useCallback(\n    (e) => {\n      setSelectedServer(e.target.value)\n    },\n    [setSelectedServer]\n  )\n\n  const handleServerVariableChange = useCallback(\n    (e) => {\n      const variableName = e.target.getAttribute(\"data-variable\")\n      const newVariableValue = e.target.value\n\n      setServerVariableValue({\n        server: currentServer,\n        key: variableName,\n        val: newVariableValue,\n      })\n    },\n    [setServerVariableValue, currentServer]\n  )\n\n  return (\n    <div className=\"servers\">\n      <label htmlFor=\"servers\">\n        <select\n          onChange={handleServerChange}\n          value={currentServer}\n          id=\"servers\"\n        >\n          {servers\n            .valueSeq()\n            .map((server) => (\n              <option value={server.get(\"url\")} key={server.get(\"url\")}>\n                {server.get(\"url\")}\n                {server.get(\"description\") && ` - ${server.get(\"description\")}`}\n              </option>\n            ))\n            .toArray()}\n        </select>\n      </label>\n      {shouldShowVariableUI && (\n        <div>\n          <div className={\"computed-url\"}>\n            Computed URL:\n            <code>{getEffectiveServerValue(currentServer)}</code>\n          </div>\n          <h4>Server variables</h4>\n          <table>\n            <tbody>\n              {currentServerVariableDefs.entrySeq().map(([name, val]) => {\n                return (\n                  <tr key={name}>\n                    <td>{name}</td>\n                    <td>\n                      {val.get(\"enum\") ? (\n                        <select\n                          data-variable={name}\n                          onChange={handleServerVariableChange}\n                        >\n                          {val.get(\"enum\").map((enumValue) => {\n                            return (\n                              <option\n                                selected={\n                                  enumValue ===\n                                  getServerVariable(currentServer, name)\n                                }\n                                key={enumValue}\n                                value={enumValue}\n                              >\n                                {enumValue}\n                              </option>\n                            )\n                          })}\n                        </select>\n                      ) : (\n                        <input\n                          type={\"text\"}\n                          value={getServerVariable(currentServer, name) || \"\"}\n                          onChange={handleServerVariableChange}\n                          data-variable={name}\n                        ></input>\n                      )}\n                    </td>\n                  </tr>\n                )\n              })}\n            </tbody>\n          </table>\n        </div>\n      )}\n    </div>\n  )\n}\nServers.propTypes = {\n  servers: ImPropTypes.list.isRequired,\n  currentServer: PropTypes.string.isRequired,\n  setSelectedServer: PropTypes.func.isRequired,\n  setServerVariableValue: PropTypes.func.isRequired,\n  getServerVariable: PropTypes.func.isRequired,\n  getEffectiveServerValue: PropTypes.func.isRequired,\n}\n\nexport default Servers\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class ServersContainer extends React.Component {\n\n  static propTypes = {\n    specSelectors: PropTypes.object.isRequired,\n    oas3Selectors: PropTypes.object.isRequired,\n    oas3Actions: PropTypes.object.isRequired,\n    getComponent: PropTypes.func.isRequired,\n  }\n\n  render () {\n    const {specSelectors, oas3Selectors, oas3Actions, getComponent} = this.props\n\n    const servers = specSelectors.servers()\n\n    const Servers = getComponent(\"Servers\")\n\n    return servers && servers.size ? (\n      <div>\n        <span className=\"servers-title\">Servers</span>\n        <Servers\n          servers={servers}\n          currentServer={oas3Selectors.selectedServer()}\n          setSelectedServer={oas3Actions.setSelectedServer}\n          setServerVariableValue={oas3Actions.setServerVariableValue}\n          getServerVariable={oas3Selectors.serverVariableValue}\n          getEffectiveServerValue={oas3Selectors.serverEffectiveValue}\n        />\n      </div> ) : null\n  }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport { stringify } from \"core/utils\"\n\nconst NOOP = Function.prototype\n\nexport default class RequestBodyEditor extends PureComponent {\n\n  static propTypes = {\n    onChange: PropTypes.func,\n    getComponent: PropTypes.func.isRequired,\n    value: PropTypes.string,\n    defaultValue: PropTypes.string,\n    errors: PropTypes.array,\n  }\n\n  static defaultProps = {\n    onChange: NOOP,\n    userHasEditedBody: false,\n  }\n\n  constructor(props, context) {\n    super(props, context)\n\n    this.state = {\n      value: stringify(props.value) || props.defaultValue\n    }\n\n    // this is the glue that makes sure our initial value gets set as the\n    // current request body value\n    // TODO: achieve this in a selector instead\n    props.onChange(props.value)\n  }\n\n  applyDefaultValue = (nextProps) => {\n    const { onChange, defaultValue } = (nextProps ? nextProps : this.props)\n\n    this.setState({\n      value: defaultValue\n    })\n\n    return onChange(defaultValue)\n  }\n\n  onChange = (value) => {\n    this.props.onChange(stringify(value))\n  }\n\n  onDomChange = e => {\n    const inputValue = e.target.value\n\n    this.setState({\n      value: inputValue,\n    }, () => this.onChange(inputValue))\n  }\n\n  UNSAFE_componentWillReceiveProps(nextProps) {\n    if(\n      this.props.value !== nextProps.value &&\n      nextProps.value !== this.state.value\n    ) {\n\n      this.setState({\n        value: stringify(nextProps.value)\n      })\n    }\n\n\n\n    if(!nextProps.value && nextProps.defaultValue && !!this.state.value) {\n      // if new value is falsy, we have a default, AND the falsy value didn't\n      // come from us originally\n      this.applyDefaultValue(nextProps)\n    }\n  }\n\n  render() {\n    let {\n      getComponent,\n      errors,\n    } = this.props\n\n    let {\n      value\n    } = this.state\n\n    let isInvalid = errors.size > 0 ? true : false\n    const TextArea = getComponent(\"TextArea\")\n\n    return (\n      <div className=\"body-param\">\n        <TextArea\n          className={cx(\"body-param__text\", { invalid: isInvalid } )}\n          title={errors.size ? errors.join(\", \") : \"\"}\n          value={value}\n          onChange={ this.onDomChange }\n        />\n      </div>\n    )\n\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class HttpAuth extends React.Component {\n  static propTypes = {\n    authorized: PropTypes.object,\n    getComponent: PropTypes.func.isRequired,\n    errSelectors: PropTypes.object.isRequired,\n    schema: PropTypes.object.isRequired,\n    name: PropTypes.string.isRequired,\n    onChange: PropTypes.func\n  }\n\n  constructor(props, context) {\n    super(props, context)\n    let { name, schema } = this.props\n    let value = this.getValue()\n\n    this.state = {\n      name: name,\n      schema: schema,\n      value: value\n    }\n  }\n\n  getValue () {\n    let { name, authorized } = this.props\n\n    return authorized && authorized.getIn([name, \"value\"])\n  }\n\n  onChange =(e) => {\n    let { onChange } = this.props\n    let { value, name } = e.target\n\n    let newValue = Object.assign({}, this.state.value)\n\n    if(name) {\n      newValue[name] = value\n    } else {\n      newValue = value\n    }\n\n    this.setState({ value: newValue }, () => onChange(this.state))\n\n  }\n\n  render() {\n    let { schema, getComponent, errSelectors, name } = this.props\n    const Input = getComponent(\"Input\")\n    const Row = getComponent(\"Row\")\n    const Col = getComponent(\"Col\")\n    const AuthError = getComponent(\"authError\")\n    const Markdown = getComponent(\"Markdown\", true)\n    const JumpToPath = getComponent(\"JumpToPath\", true)\n\n    const scheme = (schema.get(\"scheme\") || \"\").toLowerCase()\n    let value = this.getValue()\n    let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n    if(scheme === \"basic\") {\n      let username = value ? value.get(\"username\") : null\n      return <div>\n        <h4>\n          <code>{ name || schema.get(\"name\") }</code>&nbsp;\n            (http, Basic)\n            <JumpToPath path={[ \"securityDefinitions\", name ]} />\n          </h4>\n        { username && <h6>Authorized</h6> }\n        <Row>\n          <Markdown source={ schema.get(\"description\") } />\n        </Row>\n        <Row>\n          <label htmlFor=\"auth-basic-username\">Username:</label>\n          {\n            username ? <code> { username } </code>\n              : <Col>\n                  <Input \n                    id=\"auth-basic-username\"\n                    type=\"text\"\n                    required=\"required\"\n                    name=\"username\"\n                    aria-label=\"auth-basic-username\"\n                    onChange={ this.onChange }\n                    autoFocus\n                  />\n                </Col>\n          }\n        </Row>\n        <Row>\n          <label htmlFor=\"auth-basic-password\">Password:</label>\n            {\n              username ? <code> ****** </code>\n                       : <Col>\n                            <Input \n                              id=\"auth-basic-password\"\n                              autoComplete=\"new-password\"\n                              name=\"password\"\n                              type=\"password\"\n                              aria-label=\"auth-basic-password\"\n                              onChange={ this.onChange }\n                            />\n                          </Col>\n          }\n        </Row>\n        {\n          errors.valueSeq().map( (error, key) => {\n            return <AuthError error={ error }\n                              key={ key }/>\n          } )\n        }\n      </div>\n    }\n\n    if(scheme === \"bearer\") {\n      return (\n        <div>\n          <h4>\n            <code>{ name || schema.get(\"name\") }</code>&nbsp;\n              (http, Bearer)\n              <JumpToPath path={[ \"securityDefinitions\", name ]} />\n            </h4>\n            { value && <h6>Authorized</h6>}\n            <Row>\n              <Markdown source={ schema.get(\"description\") } />\n            </Row>\n            <Row>\n              <label htmlFor=\"auth-bearer-value\">Value:</label>\n              {\n                value ? <code> ****** </code>\n              : <Col>\n                  <Input\n                    id=\"auth-bearer-value\"\n                    type=\"text\"\n                    aria-label=\"auth-bearer-value\"\n                    onChange={ this.onChange }\n                    autoFocus\n                  />\n                </Col>\n          }\n        </Row>\n        {\n          errors.valueSeq().map( (error, key) => {\n            return <AuthError error={ error }\n              key={ key }/>\n          } )\n        }\n      </div>\n    )\n    }\n  return <div>\n    <em><b>{name}</b> HTTP authentication: unsupported scheme {`'${scheme}'`}</em>\n  </div>\n  }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class OperationServers extends React.Component {\n  static propTypes = {\n    // for self\n    path: PropTypes.string.isRequired,\n    method: PropTypes.string.isRequired,\n    operationServers: ImPropTypes.list,\n    pathServers: ImPropTypes.list,\n    setSelectedServer: PropTypes.func.isRequired,\n    setServerVariableValue: PropTypes.func.isRequired,\n    getSelectedServer: PropTypes.func.isRequired,\n    getServerVariable: PropTypes.func.isRequired,\n    getEffectiveServerValue: PropTypes.func.isRequired,\n\n    // utils\n    getComponent: PropTypes.func.isRequired\n  }\n\n  setSelectedServer = (server) => {\n    const { path, method } = this.props\n    // FIXME: we should be keeping up with this in props/state upstream of us\n    // instead of cheating™ with `forceUpdate`\n    this.forceUpdate()\n    return this.props.setSelectedServer(server, `${path}:${method}`)\n  }\n\n  setServerVariableValue = (obj) => {\n    const { path, method } = this.props\n    // FIXME: we should be keeping up with this in props/state upstream of us\n    // instead of cheating™ with `forceUpdate`\n    this.forceUpdate()\n    return this.props.setServerVariableValue({\n      ...obj,\n      namespace: `${path}:${method}`\n    })\n  }\n\n  getSelectedServer = () => {\n    const { path, method } = this.props\n    return this.props.getSelectedServer(`${path}:${method}`)\n  }\n\n  getServerVariable = (server, key) => {\n    const { path, method } = this.props\n    return this.props.getServerVariable({\n      namespace: `${path}:${method}`,\n      server\n    }, key)\n  }\n\n  getEffectiveServerValue = (server) => {\n    const { path, method } = this.props\n    return this.props.getEffectiveServerValue({\n      server,\n      namespace: `${path}:${method}`\n    })\n  }\n\n  render() {\n    const {\n      // for self\n      operationServers,\n      pathServers,\n\n      // util\n      getComponent\n    } = this.props\n\n    if(!operationServers && !pathServers) {\n      return null\n    }\n\n    const Servers = getComponent(\"Servers\")\n\n    const serversToDisplay = operationServers || pathServers\n    const displaying = operationServers ? \"operation\" : \"path\"\n\n    return <div className=\"opblock-section operation-servers\">\n      <div className=\"opblock-section-header\">\n        <div className=\"tab-header\">\n          <h4 className=\"opblock-title\">Servers</h4>\n        </div>\n      </div>\n      <div className=\"opblock-description-wrapper\">\n        <h4 className=\"message\">\n          These {displaying}-level options override the global server options.\n        </h4>\n        <Servers\n          servers={serversToDisplay}\n          currentServer={this.getSelectedServer()}\n          setSelectedServer={this.setSelectedServer}\n          setServerVariableValue={this.setServerVariableValue}\n          getServerVariable={this.getServerVariable}\n          getEffectiveServerValue={this.getEffectiveServerValue}\n          />\n      </div>\n    </div>\n  }\n}\n","import Callbacks from \"./callbacks\"\nimport RequestBody from \"./request-body\"\nimport OperationLink from \"./operation-link\"\nimport Servers from \"./servers\"\nimport ServersContainer from \"./servers-container\"\nimport RequestBodyEditor from \"./request-body-editor\"\nimport HttpAuth from \"./auth/http-auth\"\nimport OperationServers from \"./operation-servers\"\n\nexport default {\n  Callbacks,\n  HttpAuth,\n  RequestBody,\n  Servers,\n  ServersContainer,\n  RequestBodyEditor,\n  OperationServers,\n  operationLink: OperationLink,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport { Remarkable } from \"remarkable\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\nimport { sanitizer } from \"core/components/providers/markdown\"\n\nconst parser = new Remarkable(\"commonmark\")\nparser.block.ruler.enable([\"table\"])\nparser.set({ linkTarget: \"_blank\" })\n\nexport const Markdown = ({ source, className = \"\", getConfigs = () => ({ useUnsafeMarkdown: false }) }) => {\n  if(typeof source !== \"string\") {\n    return null\n  }\n\n  if ( source ) {\n    const { useUnsafeMarkdown } = getConfigs()\n    const html = parser.render(source)\n    const sanitized = sanitizer(html, { useUnsafeMarkdown })\n\n    let trimmed\n\n    if(typeof sanitized === \"string\") {\n      trimmed = sanitized.trim()\n    }\n\n    return (\n      <div\n        dangerouslySetInnerHTML={{\n          __html: trimmed\n        }}\n        className={cx(className, \"renderedMarkdown\")}\n      />\n    )\n  }\n  return null\n}\nMarkdown.propTypes = {\n  source: PropTypes.string,\n  className: PropTypes.string,\n  getConfigs: PropTypes.func,\n}\n\nexport default OAS3ComponentWrapFactory(Markdown)\n","import React from \"react\"\nimport { OAS3ComponentWrapFactory } from \"../../helpers\"\n\nexport default OAS3ComponentWrapFactory(({ Ori, ...props }) => {\n  const {\n    schema, getComponent, errSelectors, authorized, onAuthChange, name\n  } = props\n\n  const HttpAuth = getComponent(\"HttpAuth\")\n  const type = schema.get(\"type\")\n\n\n  if(type === \"http\") {\n    return <HttpAuth key={ name }\n              schema={ schema }\n              name={ name }\n              errSelectors={ errSelectors }\n              authorized={ authorized }\n              getComponent={ getComponent }\n              onChange={ onAuthChange }/>\n  } else {\n    return <Ori {...props} />\n  }\n})\n","import { OAS3ComponentWrapFactory } from \"../helpers\"\nimport OnlineValidatorBadge from \"core/components/online-validator-badge\"\n\n// OAS3 spec is now supported by the online validator.\nexport default OAS3ComponentWrapFactory(OnlineValidatorBadge)\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\n\nclass ModelComponent extends Component {\n  static propTypes = {\n    schema: PropTypes.object.isRequired,\n    name: PropTypes.string,\n    getComponent: PropTypes.func.isRequired,\n    getConfigs: PropTypes.func.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n    expandDepth: PropTypes.number,\n    includeReadOnly: PropTypes.bool,\n    includeWriteOnly: PropTypes.bool,\n    Ori: PropTypes.func.isRequired,\n  }\n\n  render(){\n    let { getConfigs, schema, Ori: Model } = this.props\n    let classes = [\"model-box\"]\n    let isDeprecated = schema.get(\"deprecated\") === true\n    let message = null\n\n    if(isDeprecated) {\n      classes.push(\"deprecated\")\n      message = <span className=\"model-deprecated-warning\">Deprecated:</span>\n    }\n\n    return <div className={classes.join(\" \")}>\n      {message}\n      <Model { ...this.props }\n        getConfigs={ getConfigs }\n        depth={ 1 }\n        expandDepth={ this.props.expandDepth || 0 }\n        />\n    </div>\n  }\n}\n\nexport default OAS3ComponentWrapFactory(ModelComponent)\n","import React from \"react\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\n\nexport default OAS3ComponentWrapFactory(({ Ori, ...props }) => {\n  const {\n    schema,\n    getComponent,\n    errors,\n    onChange\n  } = props\n\n  const format = schema && schema.get ? schema.get(\"format\") : null\n  const type = schema && schema.get ? schema.get(\"type\") : null\n  const Input = getComponent(\"Input\")\n\n  if(type && type === \"string\" && (format && (format === \"binary\" || format === \"base64\"))) {\n    return <Input type=\"file\"\n                   className={ errors.length ? \"invalid\" : \"\"}\n                   title={ errors.length ? errors : \"\"}\n                   onChange={(e) => {\n                     onChange(e.target.files[0])\n                   }}\n                   disabled={Ori.isDisabled}/>\n  } else {\n    return <Ori {...props} />\n  }\n})\n","import Markdown from \"./markdown\"\nimport AuthItem from \"./auth/auth-item\"\nimport OnlineValidatorBadge from \"./online-validator-badge\"\nimport Model from \"./model\"\nimport JsonSchema_string from \"./json-schema-string\"\nimport OpenAPIVersion from \"./openapi-version\"\n\nexport default {\n  Markdown,\n  AuthItem,\n  OpenAPIVersion,\n  JsonSchema_string,\n  model: Model,\n  onlineValidatorBadge: OnlineValidatorBadge,\n}\n","import React from \"react\"\nimport { OAS30ComponentWrapFactory } from \"../helpers\"\n\nexport default OAS30ComponentWrapFactory((props) => {\n  const { Ori } = props\n  return <Ori oasVersion=\"3.0\" />\n})\n","// Actions conform to FSA (flux-standard-actions)\n// {type: string,payload: Any|Error, meta: obj, error: bool}\n\nexport const UPDATE_SELECTED_SERVER = \"oas3_set_servers\"\nexport const UPDATE_REQUEST_BODY_VALUE = \"oas3_set_request_body_value\"\nexport const UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG = \"oas3_set_request_body_retain_flag\"\nexport const UPDATE_REQUEST_BODY_INCLUSION = \"oas3_set_request_body_inclusion\"\nexport const UPDATE_ACTIVE_EXAMPLES_MEMBER = \"oas3_set_active_examples_member\"\nexport const UPDATE_REQUEST_CONTENT_TYPE = \"oas3_set_request_content_type\"\nexport const UPDATE_RESPONSE_CONTENT_TYPE = \"oas3_set_response_content_type\"\nexport const UPDATE_SERVER_VARIABLE_VALUE = \"oas3_set_server_variable_value\"\nexport const SET_REQUEST_BODY_VALIDATE_ERROR = \"oas3_set_request_body_validate_error\"\nexport const CLEAR_REQUEST_BODY_VALIDATE_ERROR = \"oas3_clear_request_body_validate_error\"\nexport const CLEAR_REQUEST_BODY_VALUE = \"oas3_clear_request_body_value\"\n\nexport function setSelectedServer (selectedServerUrl, namespace) {\n  return {\n    type: UPDATE_SELECTED_SERVER,\n    payload: {selectedServerUrl, namespace}\n  }\n}\n\nexport function setRequestBodyValue ({ value, pathMethod }) {\n  return {\n    type: UPDATE_REQUEST_BODY_VALUE,\n    payload: { value, pathMethod }\n  }\n}\n\nexport const setRetainRequestBodyValueFlag = ({ value, pathMethod }) => {\n  return {\n    type: UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG,\n    payload: { value, pathMethod }\n  }\n}\n\n\nexport function setRequestBodyInclusion ({ value, pathMethod, name }) {\n  return {\n    type: UPDATE_REQUEST_BODY_INCLUSION,\n    payload: { value, pathMethod, name }\n  }\n}\n\nexport function setActiveExamplesMember ({ name, pathMethod, contextType, contextName }) {\n  return {\n    type: UPDATE_ACTIVE_EXAMPLES_MEMBER,\n    payload: { name, pathMethod, contextType, contextName }\n  }\n}\n\nexport function setRequestContentType ({ value, pathMethod }) {\n  return {\n    type: UPDATE_REQUEST_CONTENT_TYPE,\n    payload: { value, pathMethod }\n  }\n}\n\nexport function setResponseContentType ({ value, path, method }) {\n  return {\n    type: UPDATE_RESPONSE_CONTENT_TYPE,\n    payload: { value, path, method }\n  }\n}\n\nexport function setServerVariableValue ({ server, namespace, key, val }) {\n  return {\n    type: UPDATE_SERVER_VARIABLE_VALUE,\n    payload: { server, namespace, key, val }\n  }\n}\n\nexport const setRequestBodyValidateError = ({ path, method, validationErrors }) => {\n  return {\n    type: SET_REQUEST_BODY_VALIDATE_ERROR,\n    payload: { path, method, validationErrors }\n  }\n}\n\nexport const clearRequestBodyValidateError = ({ path, method }) => {\n  return {\n    type: CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n    payload: { path, method }\n  }\n}\n\nexport const initRequestBodyValidateError = ({ pathMethod } ) => {\n  return {\n    type: CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n    payload: { path: pathMethod[0], method: pathMethod[1] }\n  }\n}\n\nexport const clearRequestBodyValue = ({ pathMethod }) => {\n  return {\n    type:  CLEAR_REQUEST_BODY_VALUE,\n    payload: { pathMethod }\n  }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/escapeRegExp\");","/**\n * @prettier\n */\nimport { OrderedMap, Map, List } from \"immutable\"\nimport escapeRegExp from \"lodash/escapeRegExp\"\nimport constant from \"lodash/constant\"\n\nimport { getDefaultRequestBodyValue } from \"./components/request-body\"\nimport { stringify } from \"core/utils\"\n\n// Helpers\n\nconst onlyOAS3 =\n  (selector) =>\n  (state, ...args) =>\n  (system) => {\n    if (system.getSystem().specSelectors.isOAS3()) {\n      const selectedValue = selector(state, ...args)\n      return typeof selectedValue === \"function\"\n        ? selectedValue(system)\n        : selectedValue\n    } else {\n      return null\n    }\n  }\n\nfunction validateRequestBodyIsRequired(selector) {\n  return (...args) =>\n    (system) => {\n      const specJson = system.getSystem().specSelectors.specJson()\n      const argsList = [...args]\n      // expect argsList[0] = state\n      let pathMethod = argsList[1] || []\n      let isOas3RequestBodyRequired = specJson.getIn([\n        \"paths\",\n        ...pathMethod,\n        \"requestBody\",\n        \"required\",\n      ])\n\n      if (isOas3RequestBodyRequired) {\n        return selector(...args)\n      } else {\n        // validation pass b/c not required\n        return true\n      }\n    }\n}\n\nconst validateRequestBodyValueExists = (state, pathMethod) => {\n  pathMethod = pathMethod || []\n  let oas3RequestBodyValue = state.getIn([\n    \"requestData\",\n    ...pathMethod,\n    \"bodyValue\",\n  ])\n  // context: bodyValue can be a String, or a Map\n  if (!oas3RequestBodyValue) {\n    return false\n  }\n  // validation pass if String is not empty, or if Map exists\n  return true\n}\n\nexport const selectedServer = onlyOAS3((state, namespace) => {\n  const path = namespace ? [namespace, \"selectedServer\"] : [\"selectedServer\"]\n  return state.getIn(path) || \"\"\n})\n\nexport const requestBodyValue = onlyOAS3((state, path, method) => {\n  return state.getIn([\"requestData\", path, method, \"bodyValue\"]) || null\n})\n\nexport const shouldRetainRequestBodyValue = onlyOAS3((state, path, method) => {\n  return state.getIn([\"requestData\", path, method, \"retainBodyValue\"]) || false\n})\n\nexport const selectDefaultRequestBodyValue =\n  (state, path, method) => (system) => {\n    const { oas3Selectors, specSelectors, fn } = system.getSystem()\n\n    if (specSelectors.isOAS3()) {\n      const currentMediaType = oas3Selectors.requestContentType(path, method)\n      if (currentMediaType) {\n        return getDefaultRequestBodyValue(\n          specSelectors.specResolvedSubtree([\n            \"paths\",\n            path,\n            method,\n            \"requestBody\",\n          ]),\n          currentMediaType,\n          oas3Selectors.activeExamplesMember(\n            path,\n            method,\n            \"requestBody\",\n            \"requestBody\"\n          ),\n          fn\n        )\n      }\n    }\n    return null\n  }\n\nexport const hasUserEditedBody = onlyOAS3((state, path, method) => (system) => {\n  const { oas3Selectors, specSelectors, fn } = system\n\n  let userHasEditedBody = false\n  const currentMediaType = oas3Selectors.requestContentType(path, method)\n  let userEditedRequestBody = oas3Selectors.requestBodyValue(path, method)\n  const requestBody = specSelectors.specResolvedSubtree([\n    \"paths\",\n    path,\n    method,\n    \"requestBody\",\n  ])\n\n  /**\n   * The only request body that can currently be edited is for Path Items that are direct values of OpenAPI.paths.\n   * Path Item contained within the Callback Object or OpenAPI.webhooks (OpenAPI 3.1.0) have `Try it out`\n   * disabled and thus body cannot be edited.\n   */\n  if (!requestBody) {\n    return false\n  }\n\n  if (Map.isMap(userEditedRequestBody)) {\n    // context is not application/json media-type\n    userEditedRequestBody = stringify(\n      userEditedRequestBody\n        .mapEntries((kv) =>\n          Map.isMap(kv[1]) ? [kv[0], kv[1].get(\"value\")] : kv\n        )\n        .toJS()\n    )\n  }\n  if (List.isList(userEditedRequestBody)) {\n    userEditedRequestBody = stringify(userEditedRequestBody)\n  }\n\n  if (currentMediaType) {\n    const currentMediaTypeDefaultBodyValue = getDefaultRequestBodyValue(\n      requestBody,\n      currentMediaType,\n      oas3Selectors.activeExamplesMember(\n        path,\n        method,\n        \"requestBody\",\n        \"requestBody\"\n      ),\n      fn\n    )\n    userHasEditedBody =\n      !!userEditedRequestBody &&\n      userEditedRequestBody !== currentMediaTypeDefaultBodyValue\n  }\n  return userHasEditedBody\n})\n\nexport const requestBodyInclusionSetting = onlyOAS3((state, path, method) => {\n  return state.getIn([\"requestData\", path, method, \"bodyInclusion\"]) || Map()\n})\n\nexport const requestBodyErrors = onlyOAS3((state, path, method) => {\n  return state.getIn([\"requestData\", path, method, \"errors\"]) || null\n})\n\nexport const activeExamplesMember = onlyOAS3(\n  (state, path, method, type, name) => {\n    return (\n      state.getIn([\"examples\", path, method, type, name, \"activeExample\"]) ||\n      null\n    )\n  }\n)\n\nexport const requestContentType = onlyOAS3((state, path, method) => {\n  return (\n    state.getIn([\"requestData\", path, method, \"requestContentType\"]) || null\n  )\n})\n\nexport const responseContentType = onlyOAS3((state, path, method) => {\n  return (\n    state.getIn([\"requestData\", path, method, \"responseContentType\"]) || null\n  )\n})\n\nexport const serverVariableValue = onlyOAS3((state, locationData, key) => {\n  let path\n\n  // locationData may take one of two forms, for backwards compatibility\n  // Object: ({server, namespace?}) or String:(server)\n  if (typeof locationData !== \"string\") {\n    const { server, namespace } = locationData\n    if (namespace) {\n      path = [namespace, \"serverVariableValues\", server, key]\n    } else {\n      path = [\"serverVariableValues\", server, key]\n    }\n  } else {\n    const server = locationData\n    path = [\"serverVariableValues\", server, key]\n  }\n\n  return state.getIn(path) || null\n})\n\nexport const serverVariables = onlyOAS3((state, locationData) => {\n  let path\n\n  // locationData may take one of two forms, for backwards compatibility\n  // Object: ({server, namespace?}) or String:(server)\n  if (typeof locationData !== \"string\") {\n    const { server, namespace } = locationData\n    if (namespace) {\n      path = [namespace, \"serverVariableValues\", server]\n    } else {\n      path = [\"serverVariableValues\", server]\n    }\n  } else {\n    const server = locationData\n    path = [\"serverVariableValues\", server]\n  }\n\n  return state.getIn(path) || OrderedMap()\n})\n\nexport const serverEffectiveValue = onlyOAS3((state, locationData) => {\n  var varValues, serverValue\n\n  // locationData may take one of two forms, for backwards compatibility\n  // Object: ({server, namespace?}) or String:(server)\n  if (typeof locationData !== \"string\") {\n    const { server, namespace } = locationData\n    serverValue = server\n    if (namespace) {\n      varValues = state.getIn([namespace, \"serverVariableValues\", serverValue])\n    } else {\n      varValues = state.getIn([\"serverVariableValues\", serverValue])\n    }\n  } else {\n    serverValue = locationData\n    varValues = state.getIn([\"serverVariableValues\", serverValue])\n  }\n\n  varValues = varValues || OrderedMap()\n  let str = serverValue\n\n  varValues.map((val, key) => {\n    str = str.replace(new RegExp(`{${escapeRegExp(key)}}`, \"g\"), val)\n  })\n\n  return str\n})\n\nexport const validateBeforeExecute = validateRequestBodyIsRequired(\n  (state, pathMethod) => validateRequestBodyValueExists(state, pathMethod)\n)\n\nexport const validateShallowRequired = (\n  state,\n  {\n    oas3RequiredRequestBodyContentType,\n    oas3RequestContentType,\n    oas3RequestBodyValue,\n  }\n) => {\n  let missingRequiredKeys = []\n  // context: json => String; urlencoded, form-data => Map\n  if (!Map.isMap(oas3RequestBodyValue)) {\n    return missingRequiredKeys\n  }\n  let requiredKeys = []\n  // Cycle through list of possible contentTypes for matching contentType and defined requiredKeys\n  Object.keys(oas3RequiredRequestBodyContentType.requestContentType).forEach(\n    (contentType) => {\n      if (contentType === oas3RequestContentType) {\n        let contentTypeVal =\n          oas3RequiredRequestBodyContentType.requestContentType[contentType]\n        contentTypeVal.forEach((requiredKey) => {\n          if (requiredKeys.indexOf(requiredKey) < 0) {\n            requiredKeys.push(requiredKey)\n          }\n        })\n      }\n    }\n  )\n  requiredKeys.forEach((key) => {\n    let requiredKeyValue = oas3RequestBodyValue.getIn([key, \"value\"])\n    if (!requiredKeyValue) {\n      missingRequiredKeys.push(key)\n    }\n  })\n  return missingRequiredKeys\n}\n\nexport const validOperationMethods = constant([\n  \"get\",\n  \"put\",\n  \"post\",\n  \"delete\",\n  \"options\",\n  \"head\",\n  \"patch\",\n  \"trace\",\n])\n","import { fromJS, Map } from \"immutable\"\n\nimport {\n  UPDATE_SELECTED_SERVER,\n  UPDATE_REQUEST_BODY_VALUE,\n  UPDATE_REQUEST_BODY_INCLUSION,\n  UPDATE_ACTIVE_EXAMPLES_MEMBER,\n  UPDATE_REQUEST_CONTENT_TYPE,\n  UPDATE_SERVER_VARIABLE_VALUE,\n  UPDATE_RESPONSE_CONTENT_TYPE,\n  SET_REQUEST_BODY_VALIDATE_ERROR,\n  CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n  CLEAR_REQUEST_BODY_VALUE, UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG,\n} from \"./actions\"\n\nexport default {\n  [UPDATE_SELECTED_SERVER]: (state, { payload: { selectedServerUrl, namespace } } ) =>{\n    const path = namespace ? [ namespace, \"selectedServer\"] : [ \"selectedServer\"]\n    return state.setIn( path, selectedServerUrl)\n  },\n  [UPDATE_REQUEST_BODY_VALUE]: (state, { payload: { value, pathMethod } } ) =>{\n    let [path, method] = pathMethod\n    if (!Map.isMap(value)) {\n      // context: application/json is always a String (instead of Map)\n      return state.setIn( [ \"requestData\", path, method, \"bodyValue\" ], value)\n    }\n    let currentVal = state.getIn([\"requestData\", path, method, \"bodyValue\"]) || Map()\n    if (!Map.isMap(currentVal)) {\n      // context: user switch from application/json to application/x-www-form-urlencoded\n      currentVal = Map()\n    }\n    let newVal\n    const [...valueKeys] = value.keys()\n    valueKeys.forEach((valueKey) => {\n      let valueKeyVal = value.getIn([valueKey])\n      if (!currentVal.has(valueKey)) {\n        newVal = currentVal.setIn([valueKey, \"value\"], valueKeyVal)\n      } else if (!Map.isMap(valueKeyVal)) {\n        // context: user input will be received as String\n        newVal = currentVal.setIn([valueKey, \"value\"], valueKeyVal)\n      }\n    })\n    return state.setIn([\"requestData\", path, method, \"bodyValue\"], newVal)\n  },\n  [UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG]: (state, { payload: { value, pathMethod } } ) =>{\n    let [path, method] = pathMethod\n    return state.setIn([\"requestData\", path, method, \"retainBodyValue\"], value)\n  },\n  [UPDATE_REQUEST_BODY_INCLUSION]: (state, { payload: { value, pathMethod, name } } ) =>{\n    let [path, method] = pathMethod\n    return state.setIn( [ \"requestData\", path, method, \"bodyInclusion\", name ], value)\n  },\n  [UPDATE_ACTIVE_EXAMPLES_MEMBER]: (state, { payload: { name, pathMethod, contextType, contextName } } ) =>{\n    let [path, method] = pathMethod\n    return state.setIn( [ \"examples\", path, method, contextType, contextName, \"activeExample\" ], name)\n  },\n  [UPDATE_REQUEST_CONTENT_TYPE]: (state, { payload: { value, pathMethod } } ) =>{\n    let [path, method] = pathMethod\n    return state.setIn( [ \"requestData\", path, method, \"requestContentType\" ], value)\n  },\n  [UPDATE_RESPONSE_CONTENT_TYPE]: (state, { payload: { value, path, method } } ) =>{\n    return state.setIn( [ \"requestData\", path, method, \"responseContentType\" ], value)\n  },\n  [UPDATE_SERVER_VARIABLE_VALUE]: (state, { payload: { server, namespace, key, val } } ) =>{\n    const path = namespace ? [ namespace, \"serverVariableValues\", server, key ] : [ \"serverVariableValues\", server, key ]\n    return state.setIn(path, val)\n  },\n  [SET_REQUEST_BODY_VALIDATE_ERROR]: (state, { payload: { path, method, validationErrors } } ) => {\n    let errors = []\n    errors.push(\"Required field is not provided\")\n    if (validationErrors.missingBodyValue) {\n      // context: is application/json or application/xml, where typeof (missing) bodyValue = String\n      return state.setIn([\"requestData\", path, method, \"errors\"], fromJS(errors))\n    }\n    if (validationErrors.missingRequiredKeys && validationErrors.missingRequiredKeys.length > 0) {\n      // context: is application/x-www-form-urlencoded, with list of missing keys\n      const { missingRequiredKeys } = validationErrors\n      return state.updateIn([\"requestData\", path, method, \"bodyValue\"], fromJS({}), missingKeyValues => {\n        return missingRequiredKeys.reduce((bodyValue, currentMissingKey) => {\n          return bodyValue.setIn([currentMissingKey, \"errors\"], fromJS(errors))\n        }, missingKeyValues)\n      })\n    }\n    console.warn(\"unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR\")\n    return state\n  },\n  [CLEAR_REQUEST_BODY_VALIDATE_ERROR]: (state, { payload: { path, method } }) => {\n    const requestBodyValue = state.getIn([\"requestData\", path, method, \"bodyValue\"])\n    if (!Map.isMap(requestBodyValue)) {\n      return state.setIn([\"requestData\", path, method, \"errors\"], fromJS([]))\n    }\n    const [...valueKeys] = requestBodyValue.keys()\n    if (!valueKeys) {\n      return state\n    }\n    return state.updateIn([\"requestData\", path, method, \"bodyValue\"], fromJS({}), bodyValues => {\n      return valueKeys.reduce((bodyValue, curr) => {\n        return bodyValue.setIn([curr, \"errors\"], fromJS([]))\n      }, bodyValues)\n    })\n  },\n  [CLEAR_REQUEST_BODY_VALUE]: (state, { payload: { pathMethod }}) => {\n    let [path, method] = pathMethod\n    const requestBodyValue = state.getIn([\"requestData\", path, method, \"bodyValue\"])\n    if (!requestBodyValue) {\n      return state\n    }\n    if (!Map.isMap(requestBodyValue)) {\n      return state.setIn([\"requestData\", path, method, \"bodyValue\"], \"\")\n    }\n    return state.setIn([\"requestData\", path, method, \"bodyValue\"], Map())\n  }\n}\n","/**\n * @prettier\n */\nimport * as specWrapSelectors from \"./spec-extensions/wrap-selectors\"\nimport * as authWrapSelectors from \"./auth-extensions/wrap-selectors\"\nimport * as specSelectors from \"./spec-extensions/selectors\"\nimport components from \"./components\"\nimport wrapComponents from \"./wrap-components\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport reducers from \"./reducers\"\n\nexport default function () {\n  return {\n    components,\n    wrapComponents,\n    statePlugins: {\n      spec: {\n        wrapSelectors: specWrapSelectors,\n        selectors: specSelectors,\n      },\n      auth: {\n        wrapSelectors: authWrapSelectors,\n      },\n      oas3: {\n        actions: { ...actions },\n        reducers,\n        selectors: { ...selectors },\n      },\n    },\n  }\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\n\nconst Webhooks = ({ specSelectors, getComponent }) => {\n  const operationDTOs = specSelectors.selectWebhooksOperations()\n  const pathItemNames = Object.keys(operationDTOs)\n\n  const OperationContainer = getComponent(\"OperationContainer\", true)\n\n  if (pathItemNames.length === 0) return null\n\n  return (\n    <div className=\"webhooks\">\n      <h2>Webhooks</h2>\n\n      {pathItemNames.map((pathItemName) => (\n        <div key={`${pathItemName}-webhook`}>\n          {operationDTOs[pathItemName].map((operationDTO) => (\n            <OperationContainer\n              key={`${pathItemName}-${operationDTO.method}-webhook`}\n              op={operationDTO.operation}\n              tag=\"webhooks\"\n              method={operationDTO.method}\n              path={pathItemName}\n              specPath={List(operationDTO.specPath)}\n              allowTryItOut={false}\n            />\n          ))}\n        </div>\n      ))}\n    </div>\n  )\n}\n\nWebhooks.propTypes = {\n  specSelectors: PropTypes.shape({\n    selectWebhooksOperations: PropTypes.func.isRequired,\n  }).isRequired,\n  getComponent: PropTypes.func.isRequired,\n}\n\nexport default Webhooks\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { sanitizeUrl } from \"core/utils\"\n\nconst License = ({ getComponent, specSelectors }) => {\n  const name = specSelectors.selectLicenseNameField()\n  const url = specSelectors.selectLicenseUrl()\n\n  const Link = getComponent(\"Link\")\n\n  return (\n    <div className=\"info__license\">\n      {url ? (\n        <div className=\"info__license__url\">\n          <Link target=\"_blank\" href={sanitizeUrl(url)}>\n            {name}\n          </Link>\n        </div>\n      ) : (\n        <span>{name}</span>\n      )}\n    </div>\n  )\n}\n\nLicense.propTypes = {\n  getComponent: PropTypes.func.isRequired,\n  specSelectors: PropTypes.shape({\n    selectLicenseNameField: PropTypes.func.isRequired,\n    selectLicenseUrl: PropTypes.func.isRequired,\n  }).isRequired,\n}\n\nexport default License\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { sanitizeUrl } from \"core/utils\"\n\nconst Contact = ({ getComponent, specSelectors }) => {\n  const name = specSelectors.selectContactNameField()\n  const url = specSelectors.selectContactUrl()\n  const email = specSelectors.selectContactEmailField()\n\n  const Link = getComponent(\"Link\")\n\n  return (\n    <div className=\"info__contact\">\n      {url && (\n        <div>\n          <Link href={sanitizeUrl(url)} target=\"_blank\">\n            {name} - Website\n          </Link>\n        </div>\n      )}\n      {email && (\n        <Link href={sanitizeUrl(`mailto:${email}`)}>\n          {url ? `Send email to ${name}` : `Contact ${name}`}\n        </Link>\n      )}\n    </div>\n  )\n}\n\nContact.propTypes = {\n  getComponent: PropTypes.func.isRequired,\n  specSelectors: PropTypes.shape({\n    selectContactNameField: PropTypes.func.isRequired,\n    selectContactUrl: PropTypes.func.isRequired,\n    selectContactEmailField: PropTypes.func.isRequired,\n  }).isRequired,\n}\n\nexport default Contact\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { sanitizeUrl } from \"core/utils\"\n\nconst Info = ({ getComponent, specSelectors }) => {\n  const version = specSelectors.version()\n  const url = specSelectors.url()\n  const basePath = specSelectors.basePath()\n  const host = specSelectors.host()\n  const summary = specSelectors.selectInfoSummaryField()\n  const description = specSelectors.selectInfoDescriptionField()\n  const title = specSelectors.selectInfoTitleField()\n  const termsOfServiceUrl = specSelectors.selectInfoTermsOfServiceUrl()\n  const externalDocsUrl = specSelectors.selectExternalDocsUrl()\n  const externalDocsDesc = specSelectors.selectExternalDocsDescriptionField()\n  const contact = specSelectors.contact()\n  const license = specSelectors.license()\n\n  const Markdown = getComponent(\"Markdown\", true)\n  const Link = getComponent(\"Link\")\n  const VersionStamp = getComponent(\"VersionStamp\")\n  const OpenAPIVersion = getComponent(\"OpenAPIVersion\")\n  const InfoUrl = getComponent(\"InfoUrl\")\n  const InfoBasePath = getComponent(\"InfoBasePath\")\n  const License = getComponent(\"License\", true)\n  const Contact = getComponent(\"Contact\", true)\n  const JsonSchemaDialect = getComponent(\"JsonSchemaDialect\", true)\n\n  return (\n    <div className=\"info\">\n      <hgroup className=\"main\">\n        <h2 className=\"title\">\n          {title}\n          <span>\n            {version && <VersionStamp version={version} />}\n            <OpenAPIVersion oasVersion=\"3.1\" />\n          </span>\n        </h2>\n\n        {(host || basePath) && <InfoBasePath host={host} basePath={basePath} />}\n        {url && <InfoUrl getComponent={getComponent} url={url} />}\n      </hgroup>\n\n      {summary && <p className=\"info__summary\">{summary}</p>}\n\n      <div className=\"info__description description\">\n        <Markdown source={description} />\n      </div>\n\n      {termsOfServiceUrl && (\n        <div className=\"info__tos\">\n          <Link target=\"_blank\" href={sanitizeUrl(termsOfServiceUrl)}>\n            Terms of service\n          </Link>\n        </div>\n      )}\n\n      {contact.size > 0 && <Contact />}\n\n      {license.size > 0 && <License />}\n\n      {externalDocsUrl && (\n        <Link\n          className=\"info__extdocs\"\n          target=\"_blank\"\n          href={sanitizeUrl(externalDocsUrl)}\n        >\n          {externalDocsDesc || externalDocsUrl}\n        </Link>\n      )}\n\n      <JsonSchemaDialect />\n    </div>\n  )\n}\n\nInfo.propTypes = {\n  getComponent: PropTypes.func.isRequired,\n  specSelectors: PropTypes.shape({\n    version: PropTypes.func.isRequired,\n    url: PropTypes.func.isRequired,\n    basePath: PropTypes.func.isRequired,\n    host: PropTypes.func.isRequired,\n    selectInfoSummaryField: PropTypes.func.isRequired,\n    selectInfoDescriptionField: PropTypes.func.isRequired,\n    selectInfoTitleField: PropTypes.func.isRequired,\n    selectInfoTermsOfServiceUrl: PropTypes.func.isRequired,\n    selectExternalDocsUrl: PropTypes.func.isRequired,\n    selectExternalDocsDescriptionField: PropTypes.func.isRequired,\n    contact: PropTypes.func.isRequired,\n    license: PropTypes.func.isRequired,\n  }).isRequired,\n}\n\nexport default Info\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { sanitizeUrl } from \"core/utils\"\n\nconst JsonSchemaDialect = ({ getComponent, specSelectors }) => {\n  const jsonSchemaDialect = specSelectors.selectJsonSchemaDialectField()\n  const jsonSchemaDialectDefault = specSelectors.selectJsonSchemaDialectDefault() // prettier-ignore\n\n  const Link = getComponent(\"Link\")\n\n  return (\n    <>\n      {jsonSchemaDialect && jsonSchemaDialect === jsonSchemaDialectDefault && (\n        <p className=\"info__jsonschemadialect\">\n          JSON Schema dialect:{\" \"}\n          <Link target=\"_blank\" href={sanitizeUrl(jsonSchemaDialect)}>\n            {jsonSchemaDialect}\n          </Link>\n        </p>\n      )}\n\n      {jsonSchemaDialect && jsonSchemaDialect !== jsonSchemaDialectDefault && (\n        <div className=\"error-wrapper\">\n          <div className=\"no-margin\">\n            <div className=\"errors\">\n              <div className=\"errors-wrapper\">\n                <h4 className=\"center\">Warning</h4>\n                <p className=\"message\">\n                  <strong>OpenAPI.jsonSchemaDialect</strong> field contains a\n                  value different from the default value of{\" \"}\n                  <Link target=\"_blank\" href={jsonSchemaDialectDefault}>\n                    {jsonSchemaDialectDefault}\n                  </Link>\n                  . Values different from the default one are currently not\n                  supported. Please either omit the field or provide it with the\n                  default value.\n                </p>\n              </div>\n            </div>\n          </div>\n        </div>\n      )}\n    </>\n  )\n}\n\nJsonSchemaDialect.propTypes = {\n  getComponent: PropTypes.func.isRequired,\n  specSelectors: PropTypes.shape({\n    selectJsonSchemaDialectField: PropTypes.func.isRequired,\n    selectJsonSchemaDialectDefault: PropTypes.func.isRequired,\n  }).isRequired,\n}\n\nexport default JsonSchemaDialect\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst VersionPragmaFilter = ({\n  bypass,\n  isSwagger2,\n  isOAS3,\n  isOAS31,\n  alsoShow,\n  children,\n}) => {\n  if (bypass) {\n    return <div>{children}</div>\n  }\n\n  if (isSwagger2 && (isOAS3 || isOAS31)) {\n    return (\n      <div className=\"version-pragma\">\n        {alsoShow}\n        <div className=\"version-pragma__message version-pragma__message--ambiguous\">\n          <div>\n            <h3>Unable to render this definition</h3>\n            <p>\n              <code>swagger</code> and <code>openapi</code> fields cannot be\n              present in the same Swagger or OpenAPI definition. Please remove\n              one of the fields.\n            </p>\n            <p>\n              Supported version fields are <code>swagger: &quot;2.0&quot;</code> and\n              those that match <code>openapi: 3.x.y</code> (for example,{\" \"}\n              <code>openapi: 3.1.0</code>).\n            </p>\n          </div>\n        </div>\n      </div>\n    )\n  }\n\n  if (!isSwagger2 && !isOAS3 && !isOAS31) {\n    return (\n      <div className=\"version-pragma\">\n        {alsoShow}\n        <div className=\"version-pragma__message version-pragma__message--missing\">\n          <div>\n            <h3>Unable to render this definition</h3>\n            <p>\n              The provided definition does not specify a valid version field.\n            </p>\n            <p>\n              Please indicate a valid Swagger or OpenAPI version field.\n              Supported version fields are <code>swagger: &quot;2.0&quot;</code> and\n              those that match <code>openapi: 3.x.y</code> (for example,{\" \"}\n              <code>openapi: 3.1.0</code>).\n            </p>\n          </div>\n        </div>\n      </div>\n    )\n  }\n\n  return <div>{children}</div>\n}\n\nVersionPragmaFilter.propTypes = {\n  isSwagger2: PropTypes.bool.isRequired,\n  isOAS3: PropTypes.bool.isRequired,\n  isOAS31: PropTypes.bool.isRequired,\n  bypass: PropTypes.bool,\n  alsoShow: PropTypes.element,\n  children: PropTypes.any,\n}\n\nexport default VersionPragmaFilter\n","/**\n * @prettier\n */\nimport React, { forwardRef, useCallback } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst decodeRefName = (uri) => {\n  const unescaped = uri.replace(/~1/g, \"/\").replace(/~0/g, \"~\")\n  try {\n    return decodeURIComponent(unescaped)\n  } catch {\n    return unescaped\n  }\n}\nconst getModelName = (uri) => {\n  if (typeof uri === \"string\" && uri.includes(\"#/components/schemas/\")) {\n    return decodeRefName(uri.replace(/^.*#\\/components\\/schemas\\//, \"\"))\n  }\n  return null\n}\n\nconst Model = forwardRef(\n  ({ schema, getComponent, onToggle = () => {} }, ref) => {\n    const JSONSchema202012 = getComponent(\"JSONSchema202012\")\n    const name = getModelName(schema.get(\"$$ref\"))\n\n    const handleExpand = useCallback(\n      (e, expanded) => {\n        onToggle(name, expanded)\n      },\n      [name, onToggle]\n    )\n\n    return (\n      <JSONSchema202012\n        name={name}\n        schema={schema.toJS()}\n        ref={ref}\n        onExpand={handleExpand}\n      />\n    )\n  }\n)\n\nModel.propTypes = {\n  schema: ImPropTypes.map.isRequired,\n  getComponent: PropTypes.func.isRequired,\n  onToggle: PropTypes.func,\n}\n\nexport default Model\n","/**\n * @prettier\n */\nimport React, { useCallback, useEffect } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nconst Models = ({\n  specActions,\n  specSelectors,\n  layoutSelectors,\n  layoutActions,\n  getComponent,\n  getConfigs,\n  fn,\n}) => {\n  const schemas = specSelectors.selectSchemas()\n  const hasSchemas = Object.keys(schemas).length > 0\n  const schemasPath = [\"components\", \"schemas\"]\n  const { docExpansion, defaultModelsExpandDepth } = getConfigs()\n  const isOpenDefault = defaultModelsExpandDepth > 0 && docExpansion !== \"none\"\n  const isOpen = layoutSelectors.isShown(schemasPath, isOpenDefault)\n  const Collapse = getComponent(\"Collapse\")\n  const JSONSchema202012 = getComponent(\"JSONSchema202012\")\n  const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n  const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n  const { getTitle } = fn.jsonSchema202012.useFn()\n\n  /**\n   * Effects.\n   */\n  useEffect(() => {\n    const isOpenAndExpanded = isOpen && defaultModelsExpandDepth > 1\n    const isResolved = specSelectors.specResolvedSubtree(schemasPath) != null\n    if (isOpenAndExpanded && !isResolved) {\n      specActions.requestResolvedSubtree(schemasPath)\n    }\n  }, [isOpen, defaultModelsExpandDepth])\n\n  /**\n   * Event handlers.\n   */\n\n  const handleModelsExpand = useCallback(() => {\n    layoutActions.show(schemasPath, !isOpen)\n  }, [isOpen])\n  const handleModelsRef = useCallback((node) => {\n    if (node !== null) {\n      layoutActions.readyToScroll(schemasPath, node)\n    }\n  }, [])\n  const handleJSONSchema202012Ref = (schemaName) => (node) => {\n    if (node !== null) {\n      layoutActions.readyToScroll([...schemasPath, schemaName], node)\n    }\n  }\n  const handleJSONSchema202012Expand = (schemaName) => (e, expanded) => {\n    if (expanded) {\n      const schemaPath = [...schemasPath, schemaName]\n      const isResolved = specSelectors.specResolvedSubtree(schemaPath) != null\n      if (!isResolved) {\n        specActions.requestResolvedSubtree([...schemasPath, schemaName])\n      }\n    }\n  }\n\n  /**\n   * Rendering.\n   */\n\n  if (!hasSchemas || defaultModelsExpandDepth < 0) {\n    return null\n  }\n\n  return (\n    <section\n      className={classNames(\"models\", { \"is-open\": isOpen })}\n      ref={handleModelsRef}\n    >\n      <h4>\n        <button\n          aria-expanded={isOpen}\n          className=\"models-control\"\n          onClick={handleModelsExpand}\n        >\n          <span>Schemas</span>\n          {isOpen ? <ArrowUpIcon /> : <ArrowDownIcon />}\n        </button>\n      </h4>\n      <Collapse isOpened={isOpen}>\n        {Object.entries(schemas).map(([schemaName, schema]) => {\n          const name = getTitle(schema, { lookup: \"basic\" }) || schemaName\n\n          return (\n            <JSONSchema202012\n              key={schemaName}\n              ref={handleJSONSchema202012Ref(schemaName)}\n              schema={schema}\n              name={name}\n              onExpand={handleJSONSchema202012Expand(schemaName)}\n            />\n          )\n        })}\n      </Collapse>\n    </section>\n  )\n}\n\nModels.propTypes = {\n  getComponent: PropTypes.func.isRequired,\n  getConfigs: PropTypes.func.isRequired,\n  specSelectors: PropTypes.shape({\n    selectSchemas: PropTypes.func.isRequired,\n    specResolvedSubtree: PropTypes.func.isRequired,\n  }).isRequired,\n  specActions: PropTypes.shape({\n    requestResolvedSubtree: PropTypes.func.isRequired,\n  }).isRequired,\n  layoutSelectors: PropTypes.shape({\n    isShown: PropTypes.func.isRequired,\n  }).isRequired,\n  layoutActions: PropTypes.shape({\n    show: PropTypes.func.isRequired,\n    readyToScroll: PropTypes.func.isRequired,\n  }).isRequired,\n  fn: PropTypes.shape({\n    jsonSchema202012: PropTypes.func.shape({\n      useFn: PropTypes.func.isRequired,\n    }).isRequired,\n  }).isRequired,\n}\n\nexport default Models\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst MutualTLSAuth = ({ schema, getComponent }) => {\n  const JumpToPath = getComponent(\"JumpToPath\", true)\n  return (\n    <div>\n      <h4>\n        {schema.get(\"name\")} (mutualTLS){\" \"}\n        <JumpToPath path={[\"securityDefinitions\", schema.get(\"name\")]} />\n      </h4>\n      <p>\n        Mutual TLS is required by this API/Operation. Certificates are managed\n        via your Operating System and/or your browser.\n      </p>\n      <p>{schema.get(\"description\")}</p>\n    </div>\n  )\n}\n\nMutualTLSAuth.propTypes = {\n  schema: PropTypes.object.isRequired,\n  getComponent: PropTypes.func.isRequired,\n}\n\nexport default MutualTLSAuth\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nclass Auths extends React.Component {\n  static propTypes = {\n    definitions: ImPropTypes.iterable.isRequired,\n    getComponent: PropTypes.func.isRequired,\n    authSelectors: PropTypes.object.isRequired,\n    authActions: PropTypes.object.isRequired,\n    errSelectors: PropTypes.object.isRequired,\n    specSelectors: PropTypes.object.isRequired,\n  }\n\n  constructor(props, context) {\n    super(props, context)\n\n    this.state = {}\n  }\n\n  onAuthChange = (auth) => {\n    let { name } = auth\n\n    this.setState({ [name]: auth })\n  }\n\n  submitAuth = (e) => {\n    e.preventDefault()\n\n    let { authActions } = this.props\n    authActions.authorizeWithPersistOption(this.state)\n  }\n\n  logoutClick = (e) => {\n    e.preventDefault()\n\n    let { authActions, definitions } = this.props\n    let auths = definitions\n      .map((val, key) => {\n        return key\n      })\n      .toArray()\n\n    this.setState(\n      auths.reduce((prev, auth) => {\n        prev[auth] = \"\"\n        return prev\n      }, {})\n    )\n\n    authActions.logoutWithPersistOption(auths)\n  }\n\n  close = (e) => {\n    e.preventDefault()\n    let { authActions } = this.props\n\n    authActions.showDefinitions(false)\n  }\n\n  render() {\n    let { definitions, getComponent, authSelectors, errSelectors } = this.props\n    const AuthItem = getComponent(\"AuthItem\")\n    const Oauth2 = getComponent(\"oauth2\", true)\n    const Button = getComponent(\"Button\")\n\n    const authorized = authSelectors.authorized()\n    const authorizedAuth = definitions.filter((definition, key) => {\n      return !!authorized.get(key)\n    })\n    const nonOauthDefinitions = definitions.filter(\n      (schema) =>\n        schema.get(\"type\") !== \"oauth2\" && schema.get(\"type\") !== \"mutualTLS\"\n    )\n    const oauthDefinitions = definitions.filter(\n      (schema) => schema.get(\"type\") === \"oauth2\"\n    )\n    const mutualTLSDefinitions = definitions.filter(\n      (schema) => schema.get(\"type\") === \"mutualTLS\"\n    )\n    return (\n      <div className=\"auth-container\">\n        {nonOauthDefinitions.size > 0 && (\n          <form onSubmit={this.submitAuth}>\n            {nonOauthDefinitions\n              .map((schema, name) => {\n                return (\n                  <AuthItem\n                    key={name}\n                    schema={schema}\n                    name={name}\n                    getComponent={getComponent}\n                    onAuthChange={this.onAuthChange}\n                    authorized={authorized}\n                    errSelectors={errSelectors}\n                  />\n                )\n              })\n              .toArray()}\n            <div className=\"auth-btn-wrapper\">\n              {nonOauthDefinitions.size === authorizedAuth.size ? (\n                <Button\n                  className=\"btn modal-btn auth\"\n                  onClick={this.logoutClick}\n                  aria-label=\"Remove authorization\"\n                >\n                  Logout\n                </Button>\n              ) : (\n                <Button \n                  type=\"submit\"\n                  className=\"btn modal-btn auth authorize\"\n                  aria-label=\"Apply credentials\"\n                >\n                  Authorize\n                </Button>\n              )}\n              <Button\n                className=\"btn modal-btn auth btn-done\"\n                onClick={this.close}\n              >\n                Close\n              </Button>\n            </div>\n          </form>\n        )}\n\n        {oauthDefinitions.size > 0 ? (\n          <div>\n            <div className=\"scope-def\">\n              <p>\n                Scopes are used to grant an application different levels of\n                access to data on behalf of the end user. Each API may declare\n                one or more scopes.\n              </p>\n              <p>\n                API requires the following scopes. Select which ones you want to\n                grant to Swagger UI.\n              </p>\n            </div>\n            {definitions\n              .filter((schema) => schema.get(\"type\") === \"oauth2\")\n              .map((schema, name) => {\n                return (\n                  <div key={name}>\n                    <Oauth2\n                      authorized={authorized}\n                      schema={schema}\n                      name={name}\n                    />\n                  </div>\n                )\n              })\n              .toArray()}\n          </div>\n        ) : null}\n        {mutualTLSDefinitions.size > 0 && (\n          <div>\n            {mutualTLSDefinitions\n              .map((schema, name) => {\n                return (\n                  <AuthItem\n                    key={name}\n                    schema={schema}\n                    name={name}\n                    getComponent={getComponent}\n                    onAuthChange={this.onAuthChange}\n                    authorized={authorized}\n                    errSelectors={errSelectors}\n                  />\n                )\n              })\n              .toArray()}\n          </div>\n        )}\n      </div>\n    )\n  }\n}\n\nexport default Auths\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nexport const isOAS31 = (jsSpec) => {\n  const oasVersion = jsSpec.get(\"openapi\")\n\n  return (\n    typeof oasVersion === \"string\" && /^3\\.1\\.(?:[1-9]\\d*|0)$/.test(oasVersion)\n  )\n}\n\n/**\n * Creates selector that returns value of the passed\n * selector when spec is OpenAPI 3.1.0., null otherwise.\n *\n * @param selector\n * @returns {function(*, ...[*]): function(*): (*|null)}\n */\nexport const createOnlyOAS31Selector =\n  (selector) =>\n  (state, ...args) =>\n  (system) => {\n    if (system.getSystem().specSelectors.isOAS31()) {\n      const selectedValue = selector(state, ...args)\n      return typeof selectedValue === \"function\"\n        ? selectedValue(system)\n        : selectedValue\n    } else {\n      return null\n    }\n  }\n\n/**\n * Creates selector wrapper that returns value of the passed\n * selector when spec is OpenAPI 3.1.0., calls original selector otherwise.\n *\n *\n * @param selector\n * @returns {function(*, *): function(*, ...[*]): (*)}\n */\nexport const createOnlyOAS31SelectorWrapper =\n  (selector) =>\n  (oriSelector, system) =>\n  (state, ...args) => {\n    if (system.getSystem().specSelectors.isOAS31()) {\n      const selectedValue = selector(state, ...args)\n      return typeof selectedValue === \"function\"\n        ? selectedValue(oriSelector, system)\n        : selectedValue\n    } else {\n      return oriSelector(...args)\n    }\n  }\n\n/**\n * Creates selector that provides system as the\n * second argument. This allows to create memoized\n * composed selectors from different plugins.\n *\n * @param selector\n * @returns {function(*, ...[*]): function(*): *}\n */\nexport const createSystemSelector =\n  (selector) =>\n  (state, ...args) =>\n  (system) => {\n    const selectedValue = selector(state, system, ...args)\n    return typeof selectedValue === \"function\"\n      ? selectedValue(system)\n      : selectedValue\n  }\n\n/* eslint-disable  react/jsx-filename-extension */\n/**\n * Creates component wrapper that only wraps the component\n * when spec is OpenAPI 3.1.0. Otherwise, returns original\n * component with passed props.\n *\n * @param Component\n * @returns {function(*, *): function(*): *}\n */\nexport const createOnlyOAS31ComponentWrapper =\n  (Component) => (Original, system) => (props) => {\n    if (system.specSelectors.isOAS31()) {\n      return (\n        <Component\n          {...props}\n          originalComponent={Original}\n          getSystem={system.getSystem}\n        />\n      )\n    }\n\n    return <Original {...props} />\n  }\n/* eslint-enable  react/jsx-filename-extension */\n\n/**\n * Runs the fn replacement implementation when spec is OpenAPI 3.1.\n * Runs the fn original implementation otherwise.\n *\n * @param fn\n * @param system\n * @returns {{[p: string]: function(...[*]): *}}\n */\nexport const wrapOAS31Fn = (fn, system) => {\n  const { fn: systemFn, specSelectors } = system\n\n  return Object.fromEntries(\n    Object.entries(fn).map(([name, newImpl]) => {\n      const oriImpl = systemFn[name]\n      const impl = (...args) =>\n        specSelectors.isOAS31()\n          ? newImpl(...args)\n          : typeof oriImpl === \"function\"\n          ? oriImpl(...args)\n          : undefined\n\n      return [name, impl]\n    })\n  )\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst LicenseWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => {\n  const system = getSystem()\n  const OAS31License = system.getComponent(\"OAS31License\", true)\n\n  return <OAS31License />\n})\n\nexport default LicenseWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst ContactWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => {\n  const system = getSystem()\n  const OAS31Contact = system.getComponent(\"OAS31Contact\", true)\n\n  return <OAS31Contact />\n})\n\nexport default ContactWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst InfoWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => {\n  const system = getSystem()\n  const OAS31Info = system.getComponent(\"OAS31Info\", true)\n\n  return <OAS31Info />\n})\n\nexport default InfoWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst ModelWrapper = createOnlyOAS31ComponentWrapper(\n  ({ getSystem, ...props }) => {\n    const system = getSystem()\n    const { getComponent, fn, getConfigs } = system\n    const configs = getConfigs()\n\n    const Model = getComponent(\"OAS31Model\")\n    const JSONSchema = getComponent(\"JSONSchema202012\")\n    const Keyword$schema = getComponent(\"JSONSchema202012Keyword$schema\")\n    const Keyword$vocabulary = getComponent(\n      \"JSONSchema202012Keyword$vocabulary\"\n    )\n    const Keyword$id = getComponent(\"JSONSchema202012Keyword$id\")\n    const Keyword$anchor = getComponent(\"JSONSchema202012Keyword$anchor\")\n    const Keyword$dynamicAnchor = getComponent(\n      \"JSONSchema202012Keyword$dynamicAnchor\"\n    )\n    const Keyword$ref = getComponent(\"JSONSchema202012Keyword$ref\")\n    const Keyword$dynamicRef = getComponent(\n      \"JSONSchema202012Keyword$dynamicRef\"\n    )\n    const Keyword$defs = getComponent(\"JSONSchema202012Keyword$defs\")\n    const Keyword$comment = getComponent(\"JSONSchema202012Keyword$comment\")\n    const KeywordAllOf = getComponent(\"JSONSchema202012KeywordAllOf\")\n    const KeywordAnyOf = getComponent(\"JSONSchema202012KeywordAnyOf\")\n    const KeywordOneOf = getComponent(\"JSONSchema202012KeywordOneOf\")\n    const KeywordNot = getComponent(\"JSONSchema202012KeywordNot\")\n    const KeywordIf = getComponent(\"JSONSchema202012KeywordIf\")\n    const KeywordThen = getComponent(\"JSONSchema202012KeywordThen\")\n    const KeywordElse = getComponent(\"JSONSchema202012KeywordElse\")\n    const KeywordDependentSchemas = getComponent(\n      \"JSONSchema202012KeywordDependentSchemas\"\n    )\n    const KeywordPrefixItems = getComponent(\n      \"JSONSchema202012KeywordPrefixItems\"\n    )\n    const KeywordItems = getComponent(\"JSONSchema202012KeywordItems\")\n    const KeywordContains = getComponent(\"JSONSchema202012KeywordContains\")\n    const KeywordProperties = getComponent(\"JSONSchema202012KeywordProperties\")\n    const KeywordPatternProperties = getComponent(\n      \"JSONSchema202012KeywordPatternProperties\"\n    )\n    const KeywordAdditionalProperties = getComponent(\n      \"JSONSchema202012KeywordAdditionalProperties\"\n    )\n    const KeywordPropertyNames = getComponent(\n      \"JSONSchema202012KeywordPropertyNames\"\n    )\n    const KeywordUnevaluatedItems = getComponent(\n      \"JSONSchema202012KeywordUnevaluatedItems\"\n    )\n    const KeywordUnevaluatedProperties = getComponent(\n      \"JSONSchema202012KeywordUnevaluatedProperties\"\n    )\n    const KeywordType = getComponent(\"JSONSchema202012KeywordType\")\n    const KeywordEnum = getComponent(\"JSONSchema202012KeywordEnum\")\n    const KeywordConst = getComponent(\"JSONSchema202012KeywordConst\")\n    const KeywordConstraint = getComponent(\"JSONSchema202012KeywordConstraint\")\n    const KeywordDependentRequired = getComponent(\n      \"JSONSchema202012KeywordDependentRequired\"\n    )\n    const KeywordContentSchema = getComponent(\n      \"JSONSchema202012KeywordContentSchema\"\n    )\n    const KeywordTitle = getComponent(\"JSONSchema202012KeywordTitle\")\n    const KeywordDescription = getComponent(\n      \"JSONSchema202012KeywordDescription\"\n    )\n    const KeywordDefault = getComponent(\"JSONSchema202012KeywordDefault\")\n    const KeywordDeprecated = getComponent(\"JSONSchema202012KeywordDeprecated\")\n    const KeywordReadOnly = getComponent(\"JSONSchema202012KeywordReadOnly\")\n    const KeywordWriteOnly = getComponent(\"JSONSchema202012KeywordWriteOnly\")\n    const Accordion = getComponent(\"JSONSchema202012Accordion\")\n    const ExpandDeepButton = getComponent(\"JSONSchema202012ExpandDeepButton\")\n    const ChevronRightIcon = getComponent(\"JSONSchema202012ChevronRightIcon\")\n    const withSchemaContext = getComponent(\"withJSONSchema202012Context\")\n\n    const ModelWithJSONSchemaContext = withSchemaContext(Model, {\n      config: {\n        default$schema: \"https://spec.openapis.org/oas/3.1/dialect/base\",\n        defaultExpandedLevels: configs.defaultModelExpandDepth,\n        includeReadOnly: Boolean(props.includeReadOnly),\n        includeWriteOnly: Boolean(props.includeWriteOnly),\n      },\n      components: {\n        JSONSchema,\n        Keyword$schema,\n        Keyword$vocabulary,\n        Keyword$id,\n        Keyword$anchor,\n        Keyword$dynamicAnchor,\n        Keyword$ref,\n        Keyword$dynamicRef,\n        Keyword$defs,\n        Keyword$comment,\n        KeywordAllOf,\n        KeywordAnyOf,\n        KeywordOneOf,\n        KeywordNot,\n        KeywordIf,\n        KeywordThen,\n        KeywordElse,\n        KeywordDependentSchemas,\n        KeywordPrefixItems,\n        KeywordItems,\n        KeywordContains,\n        KeywordProperties,\n        KeywordPatternProperties,\n        KeywordAdditionalProperties,\n        KeywordPropertyNames,\n        KeywordUnevaluatedItems,\n        KeywordUnevaluatedProperties,\n        KeywordType,\n        KeywordEnum,\n        KeywordConst,\n        KeywordConstraint,\n        KeywordDependentRequired,\n        KeywordContentSchema,\n        KeywordTitle,\n        KeywordDescription,\n        KeywordDefault,\n        KeywordDeprecated,\n        KeywordReadOnly,\n        KeywordWriteOnly,\n        Accordion,\n        ExpandDeepButton,\n        ChevronRightIcon,\n      },\n      fn: {\n        upperFirst: fn.upperFirst,\n        isExpandable: fn.jsonSchema202012.isExpandable,\n        getProperties: fn.jsonSchema202012.getProperties,\n      },\n    })\n\n    return <ModelWithJSONSchemaContext {...props} />\n  }\n)\n\nexport default ModelWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst ModelsWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => {\n  const { getComponent, fn, getConfigs } = getSystem()\n  const configs = getConfigs()\n\n  if (ModelsWrapper.ModelsWithJSONSchemaContext) {\n    return <ModelsWrapper.ModelsWithJSONSchemaContext />\n  }\n\n  const Models = getComponent(\"OAS31Models\", true)\n  const JSONSchema = getComponent(\"JSONSchema202012\")\n  const Keyword$schema = getComponent(\"JSONSchema202012Keyword$schema\")\n  const Keyword$vocabulary = getComponent(\"JSONSchema202012Keyword$vocabulary\")\n  const Keyword$id = getComponent(\"JSONSchema202012Keyword$id\")\n  const Keyword$anchor = getComponent(\"JSONSchema202012Keyword$anchor\")\n  const Keyword$dynamicAnchor = getComponent(\n    \"JSONSchema202012Keyword$dynamicAnchor\"\n  )\n  const Keyword$ref = getComponent(\"JSONSchema202012Keyword$ref\")\n  const Keyword$dynamicRef = getComponent(\"JSONSchema202012Keyword$dynamicRef\")\n  const Keyword$defs = getComponent(\"JSONSchema202012Keyword$defs\")\n  const Keyword$comment = getComponent(\"JSONSchema202012Keyword$comment\")\n  const KeywordAllOf = getComponent(\"JSONSchema202012KeywordAllOf\")\n  const KeywordAnyOf = getComponent(\"JSONSchema202012KeywordAnyOf\")\n  const KeywordOneOf = getComponent(\"JSONSchema202012KeywordOneOf\")\n  const KeywordNot = getComponent(\"JSONSchema202012KeywordNot\")\n  const KeywordIf = getComponent(\"JSONSchema202012KeywordIf\")\n  const KeywordThen = getComponent(\"JSONSchema202012KeywordThen\")\n  const KeywordElse = getComponent(\"JSONSchema202012KeywordElse\")\n  const KeywordDependentSchemas = getComponent(\n    \"JSONSchema202012KeywordDependentSchemas\"\n  )\n  const KeywordPrefixItems = getComponent(\"JSONSchema202012KeywordPrefixItems\")\n  const KeywordItems = getComponent(\"JSONSchema202012KeywordItems\")\n  const KeywordContains = getComponent(\"JSONSchema202012KeywordContains\")\n  const KeywordProperties = getComponent(\"JSONSchema202012KeywordProperties\")\n  const KeywordPatternProperties = getComponent(\n    \"JSONSchema202012KeywordPatternProperties\"\n  )\n  const KeywordAdditionalProperties = getComponent(\n    \"JSONSchema202012KeywordAdditionalProperties\"\n  )\n  const KeywordPropertyNames = getComponent(\n    \"JSONSchema202012KeywordPropertyNames\"\n  )\n  const KeywordUnevaluatedItems = getComponent(\n    \"JSONSchema202012KeywordUnevaluatedItems\"\n  )\n  const KeywordUnevaluatedProperties = getComponent(\n    \"JSONSchema202012KeywordUnevaluatedProperties\"\n  )\n  const KeywordType = getComponent(\"JSONSchema202012KeywordType\")\n  const KeywordEnum = getComponent(\"JSONSchema202012KeywordEnum\")\n  const KeywordConst = getComponent(\"JSONSchema202012KeywordConst\")\n  const KeywordConstraint = getComponent(\"JSONSchema202012KeywordConstraint\")\n  const KeywordDependentRequired = getComponent(\n    \"JSONSchema202012KeywordDependentRequired\"\n  )\n  const KeywordContentSchema = getComponent(\n    \"JSONSchema202012KeywordContentSchema\"\n  )\n  const KeywordTitle = getComponent(\"JSONSchema202012KeywordTitle\")\n  const KeywordDescription = getComponent(\"JSONSchema202012KeywordDescription\")\n  const KeywordDefault = getComponent(\"JSONSchema202012KeywordDefault\")\n  const KeywordDeprecated = getComponent(\"JSONSchema202012KeywordDeprecated\")\n  const KeywordReadOnly = getComponent(\"JSONSchema202012KeywordReadOnly\")\n  const KeywordWriteOnly = getComponent(\"JSONSchema202012KeywordWriteOnly\")\n  const Accordion = getComponent(\"JSONSchema202012Accordion\")\n  const ExpandDeepButton = getComponent(\"JSONSchema202012ExpandDeepButton\")\n  const ChevronRightIcon = getComponent(\"JSONSchema202012ChevronRightIcon\")\n  const withSchemaContext = getComponent(\"withJSONSchema202012Context\")\n\n  // we cache the HOC as recreating it with every re-render is quite expensive\n  ModelsWrapper.ModelsWithJSONSchemaContext = withSchemaContext(Models, {\n    config: {\n      default$schema: \"https://spec.openapis.org/oas/3.1/dialect/base\",\n      defaultExpandedLevels: configs.defaultModelsExpandDepth - 1,\n      includeReadOnly: true,\n      includeWriteOnly: true,\n    },\n    components: {\n      JSONSchema,\n      Keyword$schema,\n      Keyword$vocabulary,\n      Keyword$id,\n      Keyword$anchor,\n      Keyword$dynamicAnchor,\n      Keyword$ref,\n      Keyword$dynamicRef,\n      Keyword$defs,\n      Keyword$comment,\n      KeywordAllOf,\n      KeywordAnyOf,\n      KeywordOneOf,\n      KeywordNot,\n      KeywordIf,\n      KeywordThen,\n      KeywordElse,\n      KeywordDependentSchemas,\n      KeywordPrefixItems,\n      KeywordItems,\n      KeywordContains,\n      KeywordProperties,\n      KeywordPatternProperties,\n      KeywordAdditionalProperties,\n      KeywordPropertyNames,\n      KeywordUnevaluatedItems,\n      KeywordUnevaluatedProperties,\n      KeywordType,\n      KeywordEnum,\n      KeywordConst,\n      KeywordConstraint,\n      KeywordDependentRequired,\n      KeywordContentSchema,\n      KeywordTitle,\n      KeywordDescription,\n      KeywordDefault,\n      KeywordDeprecated,\n      KeywordReadOnly,\n      KeywordWriteOnly,\n      Accordion,\n      ExpandDeepButton,\n      ChevronRightIcon,\n    },\n    fn: {\n      upperFirst: fn.upperFirst,\n      isExpandable: fn.jsonSchema202012.isExpandable,\n      getProperties: fn.jsonSchema202012.getProperties,\n    },\n  })\n\n  return <ModelsWrapper.ModelsWithJSONSchemaContext />\n})\n\nModelsWrapper.ModelsWithJSONSchemaContext = null\n\nexport default ModelsWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nconst VersionPragmaFilterWrapper = (Original, system) => (props) => {\n  const isOAS31 = system.specSelectors.isOAS31()\n\n  const OAS31VersionPragmaFilter = system.getComponent(\n    \"OAS31VersionPragmaFilter\"\n  )\n\n  return <OAS31VersionPragmaFilter isOAS31={isOAS31} {...props} />\n}\n\nexport default VersionPragmaFilterWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../../fn\"\n\nconst AuthItem = createOnlyOAS31ComponentWrapper(\n  ({ originalComponent: Ori, ...props }) => {\n    const { getComponent, schema } = props\n    const MutualTLSAuth = getComponent(\"MutualTLSAuth\", true)\n    const type = schema.get(\"type\")\n\n    if (type === \"mutualTLS\") {\n      return <MutualTLSAuth schema={schema} />\n    }\n\n    return <Ori {...props} />\n  }\n)\n\nexport default AuthItem\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst AuthsWrapper = createOnlyOAS31ComponentWrapper(\n  ({ getSystem, ...props }) => {\n    const system = getSystem()\n    const OAS31Auths = system.getComponent(\"OAS31Auths\", true)\n\n    return <OAS31Auths {...props} />\n  }\n)\n\nexport default AuthsWrapper\n","/**\n * @prettier\n */\nimport { List, Map } from \"immutable\"\nimport { createSelector } from \"reselect\"\n\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { isOAS31 as isOAS31Fn } from \"../fn\"\n\nconst map = Map()\n\nexport const isOAS31 = createSelector(\n  (state, system) => system.specSelectors.specJson(),\n  isOAS31Fn\n)\n\nexport const webhooks = () => (system) => {\n  const webhooks = system.specSelectors.specJson().get(\"webhooks\")\n  return Map.isMap(webhooks) ? webhooks : map\n}\n\n/**\n * `specResolvedSubtree` selector is needed as input selector,\n * so that we regenerate the selected result whenever the lazy\n * resolution happens.\n */\nexport const selectWebhooksOperations = createSelector(\n  [\n    (state, system) => system.specSelectors.webhooks(),\n    (state, system) => system.specSelectors.validOperationMethods(),\n    (state, system) => system.specSelectors.specResolvedSubtree([\"webhooks\"]),\n  ],\n  (webhooks, validOperationMethods) =>\n    webhooks\n      .reduce((allOperations, pathItem, pathItemName) => {\n        if (!Map.isMap(pathItem)) return allOperations\n\n        const pathItemOperations = pathItem\n          .entrySeq()\n          .filter(([key]) => validOperationMethods.includes(key))\n          .map(([method, operation]) => ({\n            operation: Map({ operation }),\n            method,\n            path: pathItemName,\n            specPath: [\"webhooks\", pathItemName, method],\n          }))\n\n        return allOperations.concat(pathItemOperations)\n      }, List())\n      .groupBy((operationDTO) => operationDTO.path)\n      .map((operations) => operations.toArray())\n      .toObject()\n)\n\nexport const license = () => (system) => {\n  const license = system.specSelectors.info().get(\"license\")\n  return Map.isMap(license) ? license : map\n}\n\nexport const selectLicenseNameField = () => (system) => {\n  return system.specSelectors.license().get(\"name\", \"License\")\n}\n\nexport const selectLicenseUrlField = () => (system) => {\n  return system.specSelectors.license().get(\"url\")\n}\n\nexport const selectLicenseUrl = createSelector(\n  [\n    (state, system) => system.specSelectors.url(),\n    (state, system) => system.oas3Selectors.selectedServer(),\n    (state, system) => system.specSelectors.selectLicenseUrlField(),\n  ],\n  (specUrl, selectedServer, url) => {\n    if (url) {\n      return safeBuildUrl(url, specUrl, { selectedServer })\n    }\n\n    return undefined\n  }\n)\n\nexport const selectLicenseIdentifierField = () => (system) => {\n  return system.specSelectors.license().get(\"identifier\")\n}\n\nexport const contact = () => (system) => {\n  const contact = system.specSelectors.info().get(\"contact\")\n  return Map.isMap(contact) ? contact : map\n}\n\nexport const selectContactNameField = () => (system) => {\n  return system.specSelectors.contact().get(\"name\", \"the developer\")\n}\n\nexport const selectContactEmailField = () => (system) => {\n  return system.specSelectors.contact().get(\"email\")\n}\n\nexport const selectContactUrlField = () => (system) => {\n  return system.specSelectors.contact().get(\"url\")\n}\n\nexport const selectContactUrl = createSelector(\n  [\n    (state, system) => system.specSelectors.url(),\n    (state, system) => system.oas3Selectors.selectedServer(),\n    (state, system) => system.specSelectors.selectContactUrlField(),\n  ],\n  (specUrl, selectedServer, url) => {\n    if (url) {\n      return safeBuildUrl(url, specUrl, { selectedServer })\n    }\n\n    return undefined\n  }\n)\n\nexport const selectInfoTitleField = () => (system) => {\n  return system.specSelectors.info().get(\"title\")\n}\n\nexport const selectInfoSummaryField = () => (system) => {\n  return system.specSelectors.info().get(\"summary\")\n}\n\nexport const selectInfoDescriptionField = () => (system) => {\n  return system.specSelectors.info().get(\"description\")\n}\n\nexport const selectInfoTermsOfServiceField = () => (system) => {\n  return system.specSelectors.info().get(\"termsOfService\")\n}\n\nexport const selectInfoTermsOfServiceUrl = createSelector(\n  [\n    (state, system) => system.specSelectors.url(),\n    (state, system) => system.oas3Selectors.selectedServer(),\n    (state, system) => system.specSelectors.selectInfoTermsOfServiceField(),\n  ],\n  (specUrl, selectedServer, termsOfService) => {\n    if (termsOfService) {\n      return safeBuildUrl(termsOfService, specUrl, { selectedServer })\n    }\n\n    return undefined\n  }\n)\n\nexport const selectExternalDocsDescriptionField = () => (system) => {\n  return system.specSelectors.externalDocs().get(\"description\")\n}\n\nexport const selectExternalDocsUrlField = () => (system) => {\n  return system.specSelectors.externalDocs().get(\"url\")\n}\n\nexport const selectExternalDocsUrl = createSelector(\n  [\n    (state, system) => system.specSelectors.url(),\n    (state, system) => system.oas3Selectors.selectedServer(),\n    (state, system) => system.specSelectors.selectExternalDocsUrlField(),\n  ],\n  (specUrl, selectedServer, url) => {\n    if (url) {\n      return safeBuildUrl(url, specUrl, { selectedServer })\n    }\n\n    return undefined\n  }\n)\n\nexport const selectJsonSchemaDialectField = () => (system) => {\n  return system.specSelectors.specJson().get(\"jsonSchemaDialect\")\n}\n\nexport const selectJsonSchemaDialectDefault = () =>\n  \"https://spec.openapis.org/oas/3.1/dialect/base\"\n\nexport const selectSchemas = createSelector(\n  (state, system) => system.specSelectors.definitions(),\n  (state, system) =>\n    system.specSelectors.specResolvedSubtree([\"components\", \"schemas\"]),\n\n  (rawSchemas, resolvedSchemas) => {\n    if (!Map.isMap(rawSchemas)) return {}\n    if (!Map.isMap(resolvedSchemas)) return rawSchemas.toJS()\n\n    return Object.entries(rawSchemas.toJS()).reduce(\n      (acc, [schemaName, rawSchema]) => {\n        const resolvedSchema = resolvedSchemas.get(schemaName)\n        acc[schemaName] = resolvedSchema?.toJS() || rawSchema\n        return acc\n      },\n      {}\n    )\n  }\n)\n","/**\n * @prettier\n */\n\nimport { createOnlyOAS31SelectorWrapper } from \"../fn\"\n\nexport const isOAS3 =\n  (oriSelector, system) =>\n  (state, ...args) => {\n    const isOAS31 = system.specSelectors.isOAS31()\n    return isOAS31 || oriSelector(...args)\n  }\n\nexport const selectLicenseUrl = createOnlyOAS31SelectorWrapper(\n  () => (oriSelector, system) => {\n    return system.oas31Selectors.selectLicenseUrl()\n  }\n)\n","/**\n * @prettier\n */\nimport { Map } from \"immutable\"\nimport { createOnlyOAS31SelectorWrapper } from \"../fn\"\n\nexport const definitionsToAuthorize = createOnlyOAS31SelectorWrapper(\n  () => (oriSelector, system) => {\n    const definitions = system.specSelectors.securityDefinitions()\n    let list = oriSelector()\n\n    if (!definitions) return list\n\n    definitions.entrySeq().forEach(([defName, definition]) => {\n      const type = definition.get(\"type\")\n\n      if (type === \"mutualTLS\") {\n        list = list.push(\n          new Map({\n            [defName]: definition,\n          })\n        )\n      }\n    })\n\n    return list\n  }\n)\n","/**\n * @prettier\n */\nimport { createSelector } from \"reselect\"\n\nimport { safeBuildUrl } from \"core/utils/url\"\n\nexport const selectLicenseUrl = createSelector(\n  [\n    (state, system) => system.specSelectors.url(),\n    (state, system) => system.oas3Selectors.selectedServer(),\n    (state, system) => system.specSelectors.selectLicenseUrlField(),\n    (state, system) => system.specSelectors.selectLicenseIdentifierField(),\n  ],\n  (specUrl, selectedServer, url, identifier) => {\n    if (url) {\n      return safeBuildUrl(url, specUrl, { selectedServer })\n    }\n\n    if (identifier) {\n      return `https://spdx.org/licenses/${identifier}.html`\n    }\n\n    return undefined\n  }\n)\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Example = ({ schema, getSystem }) => {\n  const { fn } = getSystem()\n  const { hasKeyword, stringify } = fn.jsonSchema202012.useFn()\n\n  if (!hasKeyword(schema, \"example\")) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--example\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n        Example\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--const\">\n        {stringify(schema.example)}\n      </span>\n    </div>\n  )\n}\n\nExample.propTypes = {\n  schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n  getSystem: PropTypes.func.isRequired,\n}\n\nexport default Example\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nconst Xml = ({ schema, getSystem }) => {\n  const xml = schema?.xml || {}\n  const { fn, getComponent } = getSystem()\n  const { useIsExpandedDeeply, useComponent } = fn.jsonSchema202012\n  const isExpandedDeeply = useIsExpandedDeeply()\n  const isExpandable = !!(xml.name || xml.namespace || xml.prefix)\n  const [expanded, setExpanded] = useState(isExpandedDeeply)\n  const [expandedDeeply, setExpandedDeeply] = useState(false)\n  const Accordion = useComponent(\"Accordion\")\n  const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n  const JSONSchemaDeepExpansionContext = getComponent(\n    \"JSONSchema202012DeepExpansionContext\"\n  )()\n\n  /**\n   * Event handlers.\n   */\n  const handleExpansion = useCallback(() => {\n    setExpanded((prev) => !prev)\n  }, [])\n  const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n    setExpanded(expandedDeepNew)\n    setExpandedDeeply(expandedDeepNew)\n  }, [])\n\n  /**\n   * Rendering.\n   */\n  if (Object.keys(xml).length === 0) {\n    return null\n  }\n\n  return (\n    <JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>\n      <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--xml\">\n        {isExpandable ? (\n          <>\n            <Accordion expanded={expanded} onChange={handleExpansion}>\n              <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n                XML\n              </span>\n            </Accordion>\n            <ExpandDeepButton\n              expanded={expanded}\n              onClick={handleExpansionDeep}\n            />\n          </>\n        ) : (\n          <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n            XML\n          </span>\n        )}\n        {xml.attribute === true && (\n          <span className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted\">\n            attribute\n          </span>\n        )}\n        {xml.wrapped === true && (\n          <span className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted\">\n            wrapped\n          </span>\n        )}\n        <strong className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\">\n          object\n        </strong>\n        <ul\n          className={classNames(\"json-schema-2020-12-keyword__children\", {\n            \"json-schema-2020-12-keyword__children--collapsed\": !expanded,\n          })}\n        >\n          {expanded && (\n            <>\n              {xml.name && (\n                <li className=\"json-schema-2020-12-property\">\n                  <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword\">\n                    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n                      name\n                    </span>\n                    <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n                      {xml.name}\n                    </span>\n                  </div>\n                </li>\n              )}\n\n              {xml.namespace && (\n                <li className=\"json-schema-2020-12-property\">\n                  <div className=\"json-schema-2020-12-keyword\">\n                    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n                      namespace\n                    </span>\n                    <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n                      {xml.namespace}\n                    </span>\n                  </div>\n                </li>\n              )}\n\n              {xml.prefix && (\n                <li className=\"json-schema-2020-12-property\">\n                  <div className=\"json-schema-2020-12-keyword\">\n                    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n                      prefix\n                    </span>\n                    <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n                      {xml.prefix}\n                    </span>\n                  </div>\n                </li>\n              )}\n            </>\n          )}\n        </ul>\n      </div>\n    </JSONSchemaDeepExpansionContext.Provider>\n  )\n}\n\nXml.propTypes = {\n  schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n  getSystem: PropTypes.func.isRequired,\n}\n\nexport default Xml\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst DiscriminatorMapping = ({ discriminator }) => {\n  const mapping = discriminator?.mapping || {}\n\n  if (Object.keys(mapping).length === 0) {\n    return null\n  }\n\n  return Object.entries(mapping).map(([key, value]) => (\n    <div key={`${key}-${value}`} className=\"json-schema-2020-12-keyword\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n        {key}\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n        {value}\n      </span>\n    </div>\n  ))\n}\n\nDiscriminatorMapping.propTypes = {\n  discriminator: PropTypes.shape({\n    mapping: PropTypes.any,\n  }),\n}\n\nexport default DiscriminatorMapping\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nimport DiscriminatorMapping from \"./DiscriminatorMapping\"\n\nconst Discriminator = ({ schema, getSystem }) => {\n  const discriminator = schema?.discriminator || {}\n  const { fn, getComponent } = getSystem()\n  const { useIsExpandedDeeply, useComponent } = fn.jsonSchema202012\n  const isExpandedDeeply = useIsExpandedDeeply()\n  const isExpandable = !!discriminator.mapping\n  const [expanded, setExpanded] = useState(isExpandedDeeply)\n  const [expandedDeeply, setExpandedDeeply] = useState(false)\n  const Accordion = useComponent(\"Accordion\")\n  const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n  const JSONSchemaDeepExpansionContext = getComponent(\n    \"JSONSchema202012DeepExpansionContext\"\n  )()\n\n  /**\n   * Event handlers.\n   */\n  const handleExpansion = useCallback(() => {\n    setExpanded((prev) => !prev)\n  }, [])\n  const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n    setExpanded(expandedDeepNew)\n    setExpandedDeeply(expandedDeepNew)\n  }, [])\n\n  /**\n   * Rendering.\n   */\n  if (Object.keys(discriminator).length === 0) {\n    return null\n  }\n\n  return (\n    <JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>\n      <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--discriminator\">\n        {isExpandable ? (\n          <>\n            <Accordion expanded={expanded} onChange={handleExpansion}>\n              <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n                Discriminator\n              </span>\n            </Accordion>\n            <ExpandDeepButton\n              expanded={expanded}\n              onClick={handleExpansionDeep}\n            />\n          </>\n        ) : (\n          <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n            Discriminator\n          </span>\n        )}\n\n        {discriminator.propertyName && (\n          <span className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted\">\n            {discriminator.propertyName}\n          </span>\n        )}\n        <strong className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\">\n          object\n        </strong>\n        <ul\n          className={classNames(\"json-schema-2020-12-keyword__children\", {\n            \"json-schema-2020-12-keyword__children--collapsed\": !expanded,\n          })}\n        >\n          {expanded && (\n            <li className=\"json-schema-2020-12-property\">\n              <DiscriminatorMapping discriminator={discriminator} />\n            </li>\n          )}\n        </ul>\n      </div>\n    </JSONSchemaDeepExpansionContext.Provider>\n  )\n}\n\nDiscriminator.propTypes = {\n  schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n  getSystem: PropTypes.func.isRequired,\n}\n\nexport default Discriminator\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nimport { sanitizeUrl } from \"core/utils\"\n\nconst ExternalDocs = ({ schema, getSystem }) => {\n  const externalDocs = schema?.externalDocs || {}\n  const { fn, getComponent } = getSystem()\n  const { useIsExpandedDeeply, useComponent } = fn.jsonSchema202012\n  const isExpandedDeeply = useIsExpandedDeeply()\n  const isExpandable = !!(externalDocs.description || externalDocs.url)\n  const [expanded, setExpanded] = useState(isExpandedDeeply)\n  const [expandedDeeply, setExpandedDeeply] = useState(false)\n  const Accordion = useComponent(\"Accordion\")\n  const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n  const KeywordDescription = getComponent(\"JSONSchema202012KeywordDescription\")\n  const Link = getComponent(\"Link\")\n  const JSONSchemaDeepExpansionContext = getComponent(\n    \"JSONSchema202012DeepExpansionContext\"\n  )()\n\n  /**\n   * Event handlers.\n   */\n  const handleExpansion = useCallback(() => {\n    setExpanded((prev) => !prev)\n  }, [])\n  const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n    setExpanded(expandedDeepNew)\n    setExpandedDeeply(expandedDeepNew)\n  }, [])\n\n  /**\n   * Rendering.\n   */\n  if (Object.keys(externalDocs).length === 0) {\n    return null\n  }\n\n  return (\n    <JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>\n      <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--externalDocs\">\n        {isExpandable ? (\n          <>\n            <Accordion expanded={expanded} onChange={handleExpansion}>\n              <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n                External documentation\n              </span>\n            </Accordion>\n            <ExpandDeepButton\n              expanded={expanded}\n              onClick={handleExpansionDeep}\n            />\n          </>\n        ) : (\n          <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n            External documentation\n          </span>\n        )}\n        <strong className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\">\n          object\n        </strong>\n        <ul\n          className={classNames(\"json-schema-2020-12-keyword__children\", {\n            \"json-schema-2020-12-keyword__children--collapsed\": !expanded,\n          })}\n        >\n          {expanded && (\n            <>\n              {externalDocs.description && (\n                <li className=\"json-schema-2020-12-property\">\n                  <KeywordDescription\n                    schema={externalDocs}\n                    getSystem={getSystem}\n                  />\n                </li>\n              )}\n\n              {externalDocs.url && (\n                <li className=\"json-schema-2020-12-property\">\n                  <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword\">\n                    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n                      url\n                    </span>\n                    <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n                      <Link\n                        target=\"_blank\"\n                        href={sanitizeUrl(externalDocs.url)}\n                      >\n                        {externalDocs.url}\n                      </Link>\n                    </span>\n                  </div>\n                </li>\n              )}\n            </>\n          )}\n        </ul>\n      </div>\n    </JSONSchemaDeepExpansionContext.Provider>\n  )\n}\n\nExternalDocs.propTypes = {\n  schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n  getSystem: PropTypes.func.isRequired,\n}\n\nexport default ExternalDocs\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Description = ({ schema, getSystem }) => {\n  if (!schema?.description) return null\n\n  const { getComponent } = getSystem()\n  const MarkDown = getComponent(\"Markdown\")\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--description\">\n      <div className=\"json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary\">\n        <MarkDown source={schema.description} />\n      </div>\n    </div>\n  )\n}\n\nDescription.propTypes = {\n  schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n  getSystem: PropTypes.func.isRequired,\n}\n\nexport default Description\n","/**\n * @prettier\n */\nimport DescriptionKeyword from \"../../components/keywords/Description\"\nimport { createOnlyOAS31ComponentWrapper } from \"../../../fn\"\n\nconst DescriptionWrapper = createOnlyOAS31ComponentWrapper(DescriptionKeyword)\n\nexport default DescriptionWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport { createOnlyOAS31ComponentWrapper } from \"../../../fn\"\n\nconst DefaultWrapper = createOnlyOAS31ComponentWrapper(\n  ({ schema, getSystem, originalComponent: KeywordDefault }) => {\n    const { getComponent } = getSystem()\n    const KeywordDiscriminator = getComponent(\n      \"JSONSchema202012KeywordDiscriminator\"\n    )\n    const KeywordXml = getComponent(\"JSONSchema202012KeywordXml\")\n    const KeywordExample = getComponent(\"JSONSchema202012KeywordExample\")\n    const KeywordExternalDocs = getComponent(\n      \"JSONSchema202012KeywordExternalDocs\"\n    )\n\n    return (\n      <>\n        <KeywordDefault schema={schema} />\n        <KeywordDiscriminator schema={schema} getSystem={getSystem} />\n        <KeywordXml schema={schema} getSystem={getSystem} />\n        <KeywordExternalDocs schema={schema} getSystem={getSystem} />\n        <KeywordExample schema={schema} getSystem={getSystem} />\n      </>\n    )\n  }\n)\n\nexport default DefaultWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nconst Properties = ({ schema, getSystem }) => {\n  const { fn } = getSystem()\n  const { useComponent } = fn.jsonSchema202012\n  const { getDependentRequired, getProperties } = fn.jsonSchema202012.useFn()\n  const config = fn.jsonSchema202012.useConfig()\n  const required = Array.isArray(schema?.required) ? schema.required : []\n  const JSONSchema = useComponent(\"JSONSchema\")\n  const properties = getProperties(schema, config)\n\n  /**\n   * Rendering.\n   */\n  if (Object.keys(properties).length === 0) {\n    return null\n  }\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--properties\">\n      <ul>\n        {Object.entries(properties).map(([propertyName, propertySchema]) => {\n          const isRequired = required.includes(propertyName)\n          const dependentRequired = getDependentRequired(propertyName, schema)\n\n          return (\n            <li\n              key={propertyName}\n              className={classNames(\"json-schema-2020-12-property\", {\n                \"json-schema-2020-12-property--required\": isRequired,\n              })}\n            >\n              <JSONSchema\n                name={propertyName}\n                schema={propertySchema}\n                dependentRequired={dependentRequired}\n              />\n            </li>\n          )\n        })}\n      </ul>\n    </div>\n  )\n}\n\nProperties.propTypes = {\n  schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n  getSystem: PropTypes.func.isRequired,\n}\n\nexport default Properties\n","/**\n * @prettier\n */\nimport PropertiesKeyword from \"../../components/keywords/Properties\"\nimport { createOnlyOAS31ComponentWrapper } from \"../../../fn\"\n\nconst PropertiesWrapper = createOnlyOAS31ComponentWrapper(PropertiesKeyword)\n\nexport default PropertiesWrapper\n","/**\n * @prettier\n */\nexport const makeIsExpandable = (original, getSystem) => {\n  const { fn } = getSystem()\n\n  if (typeof original !== \"function\") {\n    return null\n  }\n\n  const { hasKeyword } = fn.jsonSchema202012\n\n  return (schema) =>\n    original(schema) ||\n    hasKeyword(schema, \"example\") ||\n    schema?.xml ||\n    schema?.discriminator ||\n    schema?.externalDocs\n}\n\nexport const getProperties = (\n  schema,\n  { includeReadOnly, includeWriteOnly }\n) => {\n  // shortcut\n  if (!schema?.properties) return {}\n\n  const properties = Object.entries(schema.properties)\n  const filteredProperties = properties.filter(([, value]) => {\n    const isReadOnly = value?.readOnly === true\n    const isWriteOnly = value?.writeOnly === true\n\n    return (\n      (!isReadOnly || includeReadOnly) && (!isWriteOnly || includeWriteOnly)\n    )\n  })\n\n  return Object.fromEntries(filteredProperties)\n}\n","/**\n * @prettier\n */\nimport {\n  makeIsExpandable,\n  getProperties,\n} from \"./json-schema-2020-12-extensions/fn\"\nimport { wrapOAS31Fn } from \"./fn\"\n\nfunction afterLoad({ fn, getSystem }) {\n  // overrides for fn.jsonSchema202012\n  if (fn.jsonSchema202012) {\n    const isExpandable = makeIsExpandable(\n      fn.jsonSchema202012.isExpandable,\n      getSystem\n    )\n\n    Object.assign(this.fn.jsonSchema202012, { isExpandable, getProperties })\n  }\n\n  // wraps schema generators from samples plugin and make them specific to OpenAPI 3.1 version\n  if (typeof fn.sampleFromSchema === \"function\" && fn.jsonSchema202012) {\n    const wrappedFns = wrapOAS31Fn(\n      {\n        sampleFromSchema: fn.jsonSchema202012.sampleFromSchema,\n        sampleFromSchemaGeneric: fn.jsonSchema202012.sampleFromSchemaGeneric,\n        createXMLExample: fn.jsonSchema202012.createXMLExample,\n        memoizedSampleFromSchema: fn.jsonSchema202012.memoizedSampleFromSchema,\n        memoizedCreateXMLExample: fn.jsonSchema202012.memoizedCreateXMLExample,\n        getJsonSampleSchema: fn.jsonSchema202012.getJsonSampleSchema,\n        getYamlSampleSchema: fn.jsonSchema202012.getYamlSampleSchema,\n        getXmlSampleSchema: fn.jsonSchema202012.getXmlSampleSchema,\n        getSampleSchema: fn.jsonSchema202012.getSampleSchema,\n        mergeJsonSchema: fn.jsonSchema202012.mergeJsonSchema,\n      },\n      getSystem()\n    )\n\n    Object.assign(this.fn, wrappedFns)\n  }\n}\n\nexport default afterLoad\n","/**\n * @prettier\n */\nimport Webhooks from \"./components/webhooks\"\nimport License from \"./components/license\"\nimport Contact from \"./components/contact\"\nimport Info from \"./components/info\"\nimport JsonSchemaDialect from \"./components/json-schema-dialect\"\nimport VersionPragmaFilter from \"./components/version-pragma-filter\"\nimport Model from \"./components/model/model\"\nimport Models from \"./components/models/models\"\nimport MutualTLSAuth from \"./components/auth/mutual-tls-auth\"\nimport Auths from \"./components/auth/auths\"\nimport LicenseWrapper from \"./wrap-components/license\"\nimport ContactWrapper from \"./wrap-components/contact\"\nimport InfoWrapper from \"./wrap-components/info\"\nimport ModelWrapper from \"./wrap-components/model\"\nimport ModelsWrapper from \"./wrap-components/models\"\nimport VersionPragmaFilterWrapper from \"./wrap-components/version-pragma-filter\"\nimport AuthItemWrapper from \"./wrap-components/auth/auth-item\"\nimport AuthsWrapper from \"./wrap-components/auths\"\nimport {\n  isOAS31 as isOAS31Fn,\n  createOnlyOAS31Selector as createOnlyOAS31SelectorFn,\n  createSystemSelector as createSystemSelectorFn,\n} from \"./fn\"\nimport {\n  license as selectLicense,\n  contact as selectContact,\n  webhooks as selectWebhooks,\n  selectLicenseNameField,\n  selectLicenseUrlField,\n  selectLicenseIdentifierField,\n  selectContactNameField,\n  selectContactEmailField,\n  selectContactUrlField,\n  selectContactUrl,\n  isOAS31 as selectIsOAS31,\n  selectLicenseUrl,\n  selectInfoTitleField,\n  selectInfoSummaryField,\n  selectInfoDescriptionField,\n  selectInfoTermsOfServiceField,\n  selectInfoTermsOfServiceUrl,\n  selectExternalDocsDescriptionField,\n  selectExternalDocsUrlField,\n  selectExternalDocsUrl,\n  selectWebhooksOperations,\n  selectJsonSchemaDialectField,\n  selectJsonSchemaDialectDefault,\n  selectSchemas,\n} from \"./spec-extensions/selectors\"\nimport {\n  isOAS3 as isOAS3SelectorWrapper,\n  selectLicenseUrl as selectLicenseUrlWrapper,\n} from \"./spec-extensions/wrap-selectors\"\nimport { definitionsToAuthorize as definitionsToAuthorizeWrapper } from \"./auth-extensions/wrap-selectors\"\nimport { selectLicenseUrl as selectOAS31LicenseUrl } from \"./selectors\"\nimport JSONSchema202012KeywordExample from \"./json-schema-2020-12-extensions/components/keywords/Example\"\nimport JSONSchema202012KeywordXml from \"./json-schema-2020-12-extensions/components/keywords/Xml\"\nimport JSONSchema202012KeywordDiscriminator from \"./json-schema-2020-12-extensions/components/keywords/Discriminator/Discriminator\"\nimport JSONSchema202012KeywordExternalDocs from \"./json-schema-2020-12-extensions/components/keywords/ExternalDocs\"\nimport JSONSchema202012KeywordDescriptionWrapper from \"./json-schema-2020-12-extensions/wrap-components/keywords/Description\"\nimport JSONSchema202012KeywordDefaultWrapper from \"./json-schema-2020-12-extensions/wrap-components/keywords/Default\"\nimport JSONSchema202012KeywordPropertiesWrapper from \"./json-schema-2020-12-extensions/wrap-components/keywords/Properties\"\nimport afterLoad from \"./after-load\"\n\nconst OAS31Plugin = ({ fn }) => {\n  const createSystemSelector = fn.createSystemSelector || createSystemSelectorFn\n  const createOnlyOAS31Selector = fn.createOnlyOAS31Selector || createOnlyOAS31SelectorFn // prettier-ignore\n\n  return {\n    afterLoad,\n    fn: {\n      isOAS31: isOAS31Fn,\n      createSystemSelector: createSystemSelectorFn,\n      createOnlyOAS31Selector: createOnlyOAS31SelectorFn,\n    },\n    components: {\n      Webhooks,\n      JsonSchemaDialect,\n      MutualTLSAuth,\n      OAS31Info: Info,\n      OAS31License: License,\n      OAS31Contact: Contact,\n      OAS31VersionPragmaFilter: VersionPragmaFilter,\n      OAS31Model: Model,\n      OAS31Models: Models,\n      OAS31Auths: Auths,\n      JSONSchema202012KeywordExample,\n      JSONSchema202012KeywordXml,\n      JSONSchema202012KeywordDiscriminator,\n      JSONSchema202012KeywordExternalDocs,\n    },\n    wrapComponents: {\n      InfoContainer: InfoWrapper,\n      License: LicenseWrapper,\n      Contact: ContactWrapper,\n      VersionPragmaFilter: VersionPragmaFilterWrapper,\n      Model: ModelWrapper,\n      Models: ModelsWrapper,\n      AuthItem: AuthItemWrapper,\n      auths: AuthsWrapper,\n      JSONSchema202012KeywordDescription:\n        JSONSchema202012KeywordDescriptionWrapper,\n      JSONSchema202012KeywordDefault: JSONSchema202012KeywordDefaultWrapper,\n      JSONSchema202012KeywordProperties:\n        JSONSchema202012KeywordPropertiesWrapper,\n    },\n    statePlugins: {\n      auth: {\n        wrapSelectors: {\n          definitionsToAuthorize: definitionsToAuthorizeWrapper,\n        },\n      },\n      spec: {\n        selectors: {\n          isOAS31: createSystemSelector(selectIsOAS31),\n\n          license: selectLicense,\n          selectLicenseNameField,\n          selectLicenseUrlField,\n          selectLicenseIdentifierField: createOnlyOAS31Selector(selectLicenseIdentifierField), // prettier-ignore\n          selectLicenseUrl: createSystemSelector(selectLicenseUrl),\n\n          contact: selectContact,\n          selectContactNameField,\n          selectContactEmailField,\n          selectContactUrlField,\n          selectContactUrl: createSystemSelector(selectContactUrl),\n\n          selectInfoTitleField,\n          selectInfoSummaryField: createOnlyOAS31Selector(selectInfoSummaryField), // prettier-ignore\n          selectInfoDescriptionField,\n          selectInfoTermsOfServiceField,\n          selectInfoTermsOfServiceUrl: createSystemSelector(selectInfoTermsOfServiceUrl), // prettier-ignore\n\n          selectExternalDocsDescriptionField,\n          selectExternalDocsUrlField,\n          selectExternalDocsUrl: createSystemSelector(selectExternalDocsUrl),\n\n          webhooks: createOnlyOAS31Selector(selectWebhooks),\n          selectWebhooksOperations: createOnlyOAS31Selector(createSystemSelector(selectWebhooksOperations)), // prettier-ignore\n\n          selectJsonSchemaDialectField,\n          selectJsonSchemaDialectDefault,\n\n          selectSchemas: createSystemSelector(selectSchemas),\n        },\n        wrapSelectors: {\n          isOAS3: isOAS3SelectorWrapper,\n          selectLicenseUrl: selectLicenseUrlWrapper,\n        },\n      },\n      oas31: {\n        selectors: {\n          selectLicenseUrl: createOnlyOAS31Selector(createSystemSelector(selectOAS31LicenseUrl)), // prettier-ignore\n        },\n      },\n    },\n  }\n}\n\nexport default OAS31Plugin\n","/**\n * @prettier\n */\nimport PropTypes from \"prop-types\"\n\nexport const objectSchema = PropTypes.object\n\nexport const booleanSchema = PropTypes.bool\n\nexport const schema = PropTypes.oneOfType([objectSchema, booleanSchema])\n","/**\n * @prettier\n */\nimport { createContext } from \"react\"\n\nexport const JSONSchemaContext = createContext(null)\nJSONSchemaContext.displayName = \"JSONSchemaContext\"\n\nexport const JSONSchemaLevelContext = createContext(0)\nJSONSchemaLevelContext.displayName = \"JSONSchemaLevelContext\"\n\nexport const JSONSchemaDeepExpansionContext = createContext(false)\nJSONSchemaDeepExpansionContext.displayName = \"JSONSchemaDeepExpansionContext\"\n\nexport const JSONSchemaCyclesContext = createContext(new Set())\n","/**\n * @prettier\n */\nimport { useContext } from \"react\"\n\nimport {\n  JSONSchemaContext,\n  JSONSchemaLevelContext,\n  JSONSchemaDeepExpansionContext,\n  JSONSchemaCyclesContext,\n} from \"./context\"\n\nexport const useConfig = () => {\n  const { config } = useContext(JSONSchemaContext)\n  return config\n}\n\nexport const useComponent = (componentName) => {\n  const { components } = useContext(JSONSchemaContext)\n  return components[componentName] || null\n}\n\nexport const useFn = (fnName = undefined) => {\n  const { fn } = useContext(JSONSchemaContext)\n\n  return typeof fnName !== \"undefined\" ? fn[fnName] : fn\n}\n\nexport const useLevel = () => {\n  const level = useContext(JSONSchemaLevelContext)\n\n  return [level, level + 1]\n}\n\nexport const useIsEmbedded = () => {\n  const [level] = useLevel()\n\n  return level > 0\n}\n\nexport const useIsExpanded = () => {\n  const [level] = useLevel()\n  const { defaultExpandedLevels } = useConfig()\n\n  return defaultExpandedLevels - level > 0\n}\n\nexport const useIsExpandedDeeply = () => {\n  return useContext(JSONSchemaDeepExpansionContext)\n}\n\nexport const useRenderedSchemas = (schema = undefined) => {\n  if (typeof schema === \"undefined\") {\n    return useContext(JSONSchemaCyclesContext)\n  }\n\n  const renderedSchemas = useContext(JSONSchemaCyclesContext)\n  return new Set([...renderedSchemas, schema])\n}\nexport const useIsCircular = (schema) => {\n  const renderedSchemas = useRenderedSchemas()\n  return renderedSchemas.has(schema)\n}\n","/**\n * @prettier\n */\nimport React, { forwardRef, useState, useCallback, useEffect } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nimport * as propTypes from \"../../prop-types\"\nimport {\n  useComponent,\n  useLevel,\n  useFn,\n  useIsEmbedded,\n  useIsExpanded,\n  useIsExpandedDeeply,\n  useIsCircular,\n  useRenderedSchemas,\n} from \"../../hooks\"\nimport {\n  JSONSchemaLevelContext,\n  JSONSchemaDeepExpansionContext,\n  JSONSchemaCyclesContext,\n} from \"../../context\"\n\nconst JSONSchema = forwardRef(\n  ({ schema, name = \"\", dependentRequired = [], onExpand = () => {} }, ref) => {\n    const fn = useFn()\n    const isExpanded = useIsExpanded()\n    const isExpandedDeeply = useIsExpandedDeeply()\n    const [expanded, setExpanded] = useState(isExpanded || isExpandedDeeply)\n    const [expandedDeeply, setExpandedDeeply] = useState(isExpandedDeeply)\n    const [level, nextLevel] = useLevel()\n    const isEmbedded = useIsEmbedded()\n    const isExpandable = fn.isExpandable(schema) || dependentRequired.length > 0\n    const isCircular = useIsCircular(schema)\n    const renderedSchemas = useRenderedSchemas(schema)\n    const constraints = fn.stringifyConstraints(schema)\n    const Accordion = useComponent(\"Accordion\")\n    const Keyword$schema = useComponent(\"Keyword$schema\")\n    const Keyword$vocabulary = useComponent(\"Keyword$vocabulary\")\n    const Keyword$id = useComponent(\"Keyword$id\")\n    const Keyword$anchor = useComponent(\"Keyword$anchor\")\n    const Keyword$dynamicAnchor = useComponent(\"Keyword$dynamicAnchor\")\n    const Keyword$ref = useComponent(\"Keyword$ref\")\n    const Keyword$dynamicRef = useComponent(\"Keyword$dynamicRef\")\n    const Keyword$defs = useComponent(\"Keyword$defs\")\n    const Keyword$comment = useComponent(\"Keyword$comment\")\n    const KeywordAllOf = useComponent(\"KeywordAllOf\")\n    const KeywordAnyOf = useComponent(\"KeywordAnyOf\")\n    const KeywordOneOf = useComponent(\"KeywordOneOf\")\n    const KeywordNot = useComponent(\"KeywordNot\")\n    const KeywordIf = useComponent(\"KeywordIf\")\n    const KeywordThen = useComponent(\"KeywordThen\")\n    const KeywordElse = useComponent(\"KeywordElse\")\n    const KeywordDependentSchemas = useComponent(\"KeywordDependentSchemas\")\n    const KeywordPrefixItems = useComponent(\"KeywordPrefixItems\")\n    const KeywordItems = useComponent(\"KeywordItems\")\n    const KeywordContains = useComponent(\"KeywordContains\")\n    const KeywordProperties = useComponent(\"KeywordProperties\")\n    const KeywordPatternProperties = useComponent(\"KeywordPatternProperties\")\n    const KeywordAdditionalProperties = useComponent(\n      \"KeywordAdditionalProperties\"\n    )\n    const KeywordPropertyNames = useComponent(\"KeywordPropertyNames\")\n    const KeywordUnevaluatedItems = useComponent(\"KeywordUnevaluatedItems\")\n    const KeywordUnevaluatedProperties = useComponent(\n      \"KeywordUnevaluatedProperties\"\n    )\n    const KeywordType = useComponent(\"KeywordType\")\n    const KeywordEnum = useComponent(\"KeywordEnum\")\n    const KeywordConst = useComponent(\"KeywordConst\")\n    const KeywordConstraint = useComponent(\"KeywordConstraint\")\n    const KeywordDependentRequired = useComponent(\"KeywordDependentRequired\")\n    const KeywordContentSchema = useComponent(\"KeywordContentSchema\")\n    const KeywordTitle = useComponent(\"KeywordTitle\")\n    const KeywordDescription = useComponent(\"KeywordDescription\")\n    const KeywordDefault = useComponent(\"KeywordDefault\")\n    const KeywordDeprecated = useComponent(\"KeywordDeprecated\")\n    const KeywordReadOnly = useComponent(\"KeywordReadOnly\")\n    const KeywordWriteOnly = useComponent(\"KeywordWriteOnly\")\n    const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n\n    /**\n     * Effects handlers.\n     */\n    useEffect(() => {\n      setExpandedDeeply(isExpandedDeeply)\n    }, [isExpandedDeeply])\n\n    useEffect(() => {\n      setExpandedDeeply(expandedDeeply)\n    }, [expandedDeeply])\n\n    /**\n     * Event handlers.\n     */\n    const handleExpansion = useCallback(\n      (e, expandedNew) => {\n        setExpanded(expandedNew)\n        !expandedNew && setExpandedDeeply(false)\n        onExpand(e, expandedNew, false)\n      },\n      [onExpand]\n    )\n    const handleExpansionDeep = useCallback(\n      (e, expandedDeepNew) => {\n        setExpanded(expandedDeepNew)\n        setExpandedDeeply(expandedDeepNew)\n        onExpand(e, expandedDeepNew, true)\n      },\n      [onExpand]\n    )\n\n    return (\n      <JSONSchemaLevelContext.Provider value={nextLevel}>\n        <JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>\n          <JSONSchemaCyclesContext.Provider value={renderedSchemas}>\n            <article\n              ref={ref}\n              data-json-schema-level={level}\n              className={classNames(\"json-schema-2020-12\", {\n                \"json-schema-2020-12--embedded\": isEmbedded,\n                \"json-schema-2020-12--circular\": isCircular,\n              })}\n            >\n              <div className=\"json-schema-2020-12-head\">\n                {isExpandable && !isCircular ? (\n                  <>\n                    <Accordion expanded={expanded} onChange={handleExpansion}>\n                      <KeywordTitle title={name} schema={schema} />\n                    </Accordion>\n                    <ExpandDeepButton\n                      expanded={expanded}\n                      onClick={handleExpansionDeep}\n                    />\n                  </>\n                ) : (\n                  <KeywordTitle title={name} schema={schema} />\n                )}\n                <KeywordDeprecated schema={schema} />\n                <KeywordReadOnly schema={schema} />\n                <KeywordWriteOnly schema={schema} />\n                <KeywordType schema={schema} isCircular={isCircular} />\n                {constraints.length > 0 &&\n                  constraints.map((constraint) => (\n                    <KeywordConstraint\n                      key={`${constraint.scope}-${constraint.value}`}\n                      constraint={constraint}\n                    />\n                  ))}\n              </div>\n              <div\n                className={classNames(\"json-schema-2020-12-body\", {\n                  \"json-schema-2020-12-body--collapsed\": !expanded,\n                })}\n              >\n                {expanded && (\n                  <>\n                    <KeywordDescription schema={schema} />\n                    {!isCircular && isExpandable && (\n                      <>\n                        <KeywordProperties schema={schema} />\n                        <KeywordPatternProperties schema={schema} />\n                        <KeywordAdditionalProperties schema={schema} />\n                        <KeywordUnevaluatedProperties schema={schema} />\n                        <KeywordPropertyNames schema={schema} />\n                        <KeywordAllOf schema={schema} />\n                        <KeywordAnyOf schema={schema} />\n                        <KeywordOneOf schema={schema} />\n                        <KeywordNot schema={schema} />\n                        <KeywordIf schema={schema} />\n                        <KeywordThen schema={schema} />\n                        <KeywordElse schema={schema} />\n                        <KeywordDependentSchemas schema={schema} />\n                        <KeywordPrefixItems schema={schema} />\n                        <KeywordItems schema={schema} />\n                        <KeywordUnevaluatedItems schema={schema} />\n                        <KeywordContains schema={schema} />\n                        <KeywordContentSchema schema={schema} />\n                      </>\n                    )}\n                    <KeywordEnum schema={schema} />\n                    <KeywordConst schema={schema} />\n                    <KeywordDependentRequired\n                      schema={schema}\n                      dependentRequired={dependentRequired}\n                    />\n                    <KeywordDefault schema={schema} />\n                    <Keyword$schema schema={schema} />\n                    <Keyword$vocabulary schema={schema} />\n                    <Keyword$id schema={schema} />\n                    <Keyword$anchor schema={schema} />\n                    <Keyword$dynamicAnchor schema={schema} />\n                    <Keyword$ref schema={schema} />\n                    {!isCircular && isExpandable && (\n                      <Keyword$defs schema={schema} />\n                    )}\n                    <Keyword$dynamicRef schema={schema} />\n                    <Keyword$comment schema={schema} />\n                  </>\n                )}\n              </div>\n            </article>\n          </JSONSchemaCyclesContext.Provider>\n        </JSONSchemaDeepExpansionContext.Provider>\n      </JSONSchemaLevelContext.Provider>\n    )\n  }\n)\n\nJSONSchema.propTypes = {\n  name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n  schema: propTypes.schema.isRequired,\n  dependentRequired: PropTypes.arrayOf(PropTypes.string),\n  onExpand: PropTypes.func,\n}\n\nexport default JSONSchema\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $schema = ({ schema }) => {\n  if (!schema?.$schema) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$schema\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n        $schema\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n        {schema.$schema}\n      </span>\n    </div>\n  )\n}\n\n$schema.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default $schema\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../../prop-types\"\nimport {\n  useComponent,\n  useIsExpanded,\n  useIsExpandedDeeply,\n} from \"../../../hooks\"\n\nconst $vocabulary = ({ schema }) => {\n  const isExpanded = useIsExpanded()\n  const isExpandedDeeply = useIsExpandedDeeply()\n  const [expanded, setExpanded] = useState(isExpanded || isExpandedDeeply)\n  const Accordion = useComponent(\"Accordion\")\n\n  const handleExpansion = useCallback(() => {\n    setExpanded((prev) => !prev)\n  }, [])\n\n  /**\n   * Rendering.\n   */\n  if (!schema?.$vocabulary) return null\n  if (typeof schema.$vocabulary !== \"object\") return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$vocabulary\">\n      <Accordion expanded={expanded} onChange={handleExpansion}>\n        <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n          $vocabulary\n        </span>\n      </Accordion>\n      <strong className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\">\n        object\n      </strong>\n      <ul>\n        {expanded &&\n          Object.entries(schema.$vocabulary).map(([uri, enabled]) => (\n            <li\n              key={uri}\n              className={classNames(\"json-schema-2020-12-$vocabulary-uri\", {\n                \"json-schema-2020-12-$vocabulary-uri--disabled\": !enabled,\n              })}\n            >\n              <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n                {uri}\n              </span>\n            </li>\n          ))}\n      </ul>\n    </div>\n  )\n}\n\n$vocabulary.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default $vocabulary\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $id = ({ schema }) => {\n  if (!schema?.$id) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$id\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n        $id\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n        {schema.$id}\n      </span>\n    </div>\n  )\n}\n\n$id.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default $id\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $anchor = ({ schema }) => {\n  if (!schema?.$anchor) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$anchor\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n        $anchor\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n        {schema.$anchor}\n      </span>\n    </div>\n  )\n}\n\n$anchor.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default $anchor\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $dynamicAnchor = ({ schema }) => {\n  if (!schema?.$dynamicAnchor) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicAnchor\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n        $dynamicAnchor\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n        {schema.$dynamicAnchor}\n      </span>\n    </div>\n  )\n}\n\n$dynamicAnchor.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default $dynamicAnchor\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $ref = ({ schema }) => {\n  if (!schema?.$ref) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$ref\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n        $ref\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n        {schema.$ref}\n      </span>\n    </div>\n  )\n}\n\n$ref.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default $ref\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $dynamicRef = ({ schema }) => {\n  if (!schema?.$dynamicRef) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicRef\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n        $dynamicRef\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n        {schema.$dynamicRef}\n      </span>\n    </div>\n  )\n}\n\n$dynamicRef.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default $dynamicRef\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport { useComponent, useIsExpanded, useIsExpandedDeeply } from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst $defs = ({ schema }) => {\n  const $defs = schema?.$defs || {}\n  const isExpanded = useIsExpanded()\n  const isExpandedDeeply = useIsExpandedDeeply()\n  const [expanded, setExpanded] = useState(isExpanded || isExpandedDeeply)\n  const [expandedDeeply, setExpandedDeeply] = useState(false)\n  const Accordion = useComponent(\"Accordion\")\n  const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Event handlers.\n   */\n  const handleExpansion = useCallback(() => {\n    setExpanded((prev) => !prev)\n  }, [])\n  const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n    setExpanded(expandedDeepNew)\n    setExpandedDeeply(expandedDeepNew)\n  }, [])\n\n  /**\n   * Rendering.\n   */\n  if (Object.keys($defs).length === 0) {\n    return null\n  }\n\n  return (\n    <JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>\n      <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$defs\">\n        <Accordion expanded={expanded} onChange={handleExpansion}>\n          <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n            $defs\n          </span>\n        </Accordion>\n        <ExpandDeepButton expanded={expanded} onClick={handleExpansionDeep} />\n        <strong className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\">\n          object\n        </strong>\n        <ul\n          className={classNames(\"json-schema-2020-12-keyword__children\", {\n            \"json-schema-2020-12-keyword__children--collapsed\": !expanded,\n          })}\n        >\n          {expanded && (\n            <>\n              {Object.entries($defs).map(([schemaName, schema]) => (\n                <li key={schemaName} className=\"json-schema-2020-12-property\">\n                  <JSONSchema name={schemaName} schema={schema} />\n                </li>\n              ))}\n            </>\n          )}\n        </ul>\n      </div>\n    </JSONSchemaDeepExpansionContext.Provider>\n  )\n}\n\n$defs.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default $defs\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $comment = ({ schema }) => {\n  if (!schema?.$comment) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$comment\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\">\n        $comment\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\">\n        {schema.$comment}\n      </span>\n    </div>\n  )\n}\n\n$comment.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default $comment\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport {\n  useFn,\n  useComponent,\n  useIsExpanded,\n  useIsExpandedDeeply,\n} from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst AllOf = ({ schema }) => {\n  const allOf = schema?.allOf || []\n  const fn = useFn()\n  const isExpanded = useIsExpanded()\n  const isExpandedDeeply = useIsExpandedDeeply()\n  const [expanded, setExpanded] = useState(isExpanded || isExpandedDeeply)\n  const [expandedDeeply, setExpandedDeeply] = useState(false)\n  const Accordion = useComponent(\"Accordion\")\n  const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n  const JSONSchema = useComponent(\"JSONSchema\")\n  const KeywordType = useComponent(\"KeywordType\")\n\n  /**\n   * Event handlers.\n   */\n  const handleExpansion = useCallback(() => {\n    setExpanded((prev) => !prev)\n  }, [])\n  const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n    setExpanded(expandedDeepNew)\n    setExpandedDeeply(expandedDeepNew)\n  }, [])\n\n  /**\n   * Rendering.\n   */\n  if (!Array.isArray(allOf) || allOf.length === 0) {\n    return null\n  }\n\n  return (\n    <JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>\n      <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--allOf\">\n        <Accordion expanded={expanded} onChange={handleExpansion}>\n          <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n            All of\n          </span>\n        </Accordion>\n        <ExpandDeepButton expanded={expanded} onClick={handleExpansionDeep} />\n        <KeywordType schema={{ allOf }} />\n        <ul\n          className={classNames(\"json-schema-2020-12-keyword__children\", {\n            \"json-schema-2020-12-keyword__children--collapsed\": !expanded,\n          })}\n        >\n          {expanded && (\n            <>\n              {allOf.map((schema, index) => (\n                <li key={`#${index}`} className=\"json-schema-2020-12-property\">\n                  <JSONSchema\n                    name={`#${index} ${fn.getTitle(schema)}`}\n                    schema={schema}\n                  />\n                </li>\n              ))}\n            </>\n          )}\n        </ul>\n      </div>\n    </JSONSchemaDeepExpansionContext.Provider>\n  )\n}\n\nAllOf.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default AllOf\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport {\n  useFn,\n  useComponent,\n  useIsExpanded,\n  useIsExpandedDeeply,\n} from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst AnyOf = ({ schema }) => {\n  const anyOf = schema?.anyOf || []\n  const fn = useFn()\n  const isExpanded = useIsExpanded()\n  const isExpandedDeeply = useIsExpandedDeeply()\n  const [expanded, setExpanded] = useState(isExpanded || isExpandedDeeply)\n  const [expandedDeeply, setExpandedDeeply] = useState(false)\n  const Accordion = useComponent(\"Accordion\")\n  const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n  const JSONSchema = useComponent(\"JSONSchema\")\n  const KeywordType = useComponent(\"KeywordType\")\n\n  /**\n   * Event handlers.\n   */\n  const handleExpansion = useCallback(() => {\n    setExpanded((prev) => !prev)\n  }, [])\n  const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n    setExpanded(expandedDeepNew)\n    setExpandedDeeply(expandedDeepNew)\n  }, [])\n\n  /**\n   * Rendering.\n   */\n  if (!Array.isArray(anyOf) || anyOf.length === 0) {\n    return null\n  }\n\n  return (\n    <JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>\n      <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--anyOf\">\n        <Accordion expanded={expanded} onChange={handleExpansion}>\n          <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n            Any of\n          </span>\n        </Accordion>\n        <ExpandDeepButton expanded={expanded} onClick={handleExpansionDeep} />\n        <KeywordType schema={{ anyOf }} />\n        <ul\n          className={classNames(\"json-schema-2020-12-keyword__children\", {\n            \"json-schema-2020-12-keyword__children--collapsed\": !expanded,\n          })}\n        >\n          {expanded && (\n            <>\n              {anyOf.map((schema, index) => (\n                <li key={`#${index}`} className=\"json-schema-2020-12-property\">\n                  <JSONSchema\n                    name={`#${index} ${fn.getTitle(schema)}`}\n                    schema={schema}\n                  />\n                </li>\n              ))}\n            </>\n          )}\n        </ul>\n      </div>\n    </JSONSchemaDeepExpansionContext.Provider>\n  )\n}\n\nAnyOf.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default AnyOf\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport {\n  useFn,\n  useComponent,\n  useIsExpanded,\n  useIsExpandedDeeply,\n} from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst OneOf = ({ schema }) => {\n  const oneOf = schema?.oneOf || []\n  const fn = useFn()\n  const isExpanded = useIsExpanded()\n  const isExpandedDeeply = useIsExpandedDeeply()\n  const [expanded, setExpanded] = useState(isExpanded || isExpandedDeeply)\n  const [expandedDeeply, setExpandedDeeply] = useState(false)\n  const Accordion = useComponent(\"Accordion\")\n  const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n  const JSONSchema = useComponent(\"JSONSchema\")\n  const KeywordType = useComponent(\"KeywordType\")\n\n  /**\n   * Event handlers.\n   */\n  const handleExpansion = useCallback(() => {\n    setExpanded((prev) => !prev)\n  }, [])\n  const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n    setExpanded(expandedDeepNew)\n    setExpandedDeeply(expandedDeepNew)\n  }, [])\n\n  /**\n   * Rendering.\n   */\n  if (!Array.isArray(oneOf) || oneOf.length === 0) {\n    return null\n  }\n\n  return (\n    <JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>\n      <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--oneOf\">\n        <Accordion expanded={expanded} onChange={handleExpansion}>\n          <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n            One of\n          </span>\n        </Accordion>\n        <ExpandDeepButton expanded={expanded} onClick={handleExpansionDeep} />\n        <KeywordType schema={{ oneOf }} />\n        <ul\n          className={classNames(\"json-schema-2020-12-keyword__children\", {\n            \"json-schema-2020-12-keyword__children--collapsed\": !expanded,\n          })}\n        >\n          {expanded && (\n            <>\n              {oneOf.map((schema, index) => (\n                <li key={`#${index}`} className=\"json-schema-2020-12-property\">\n                  <JSONSchema\n                    name={`#${index} ${fn.getTitle(schema)}`}\n                    schema={schema}\n                  />\n                </li>\n              ))}\n            </>\n          )}\n        </ul>\n      </div>\n    </JSONSchemaDeepExpansionContext.Provider>\n  )\n}\n\nOneOf.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default OneOf\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst Not = ({ schema }) => {\n  const fn = useFn()\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (!fn.hasKeyword(schema, \"not\")) return null\n\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      Not\n    </span>\n  )\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--not\">\n      <JSONSchema name={name} schema={schema.not} />\n    </div>\n  )\n}\n\nNot.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Not\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst If = ({ schema }) => {\n  const fn = useFn()\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (!fn.hasKeyword(schema, \"if\")) return null\n\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      If\n    </span>\n  )\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--if\">\n      <JSONSchema name={name} schema={schema.if} />\n    </div>\n  )\n}\n\nIf.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default If\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst Then = ({ schema }) => {\n  const fn = useFn()\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (!fn.hasKeyword(schema, \"then\")) return null\n\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      Then\n    </span>\n  )\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--then\">\n      <JSONSchema name={name} schema={schema.then} />\n    </div>\n  )\n}\n\nThen.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Then\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst Else = ({ schema }) => {\n  const fn = useFn()\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (!fn.hasKeyword(schema, \"else\")) return null\n\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      Else\n    </span>\n  )\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--if\">\n      <JSONSchema name={name} schema={schema.else} />\n    </div>\n  )\n}\n\nElse.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Else\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport { useComponent, useIsExpanded, useIsExpandedDeeply } from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst DependentSchemas = ({ schema }) => {\n  const dependentSchemas = schema?.dependentSchemas || []\n  const isExpanded = useIsExpanded()\n  const isExpandedDeeply = useIsExpandedDeeply()\n  const [expanded, setExpanded] = useState(isExpanded || isExpandedDeeply)\n  const [expandedDeeply, setExpandedDeeply] = useState(false)\n  const Accordion = useComponent(\"Accordion\")\n  const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Event handlers.\n   */\n  const handleExpansion = useCallback(() => {\n    setExpanded((prev) => !prev)\n  }, [])\n  const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n    setExpanded(expandedDeepNew)\n    setExpandedDeeply(expandedDeepNew)\n  }, [])\n\n  /**\n   * Rendering.\n   */\n  if (typeof dependentSchemas !== \"object\") return null\n  if (Object.keys(dependentSchemas).length === 0) return null\n\n  return (\n    <JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>\n      <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentSchemas\">\n        <Accordion expanded={expanded} onChange={handleExpansion}>\n          <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n            Dependent schemas\n          </span>\n        </Accordion>\n        <ExpandDeepButton expanded={expanded} onClick={handleExpansionDeep} />\n        <strong className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\">\n          object\n        </strong>\n        <ul\n          className={classNames(\"json-schema-2020-12-keyword__children\", {\n            \"json-schema-2020-12-keyword__children--collapsed\": !expanded,\n          })}\n        >\n          {expanded && (\n            <>\n              {Object.entries(dependentSchemas).map(([schemaName, schema]) => (\n                <li key={schemaName} className=\"json-schema-2020-12-property\">\n                  <JSONSchema name={schemaName} schema={schema} />\n                </li>\n              ))}\n            </>\n          )}\n        </ul>\n      </div>\n    </JSONSchemaDeepExpansionContext.Provider>\n  )\n}\n\nDependentSchemas.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default DependentSchemas\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport {\n  useFn,\n  useComponent,\n  useIsExpandedDeeply,\n  useIsExpanded,\n} from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst PrefixItems = ({ schema }) => {\n  const prefixItems = schema?.prefixItems || []\n  const fn = useFn()\n  const isExpanded = useIsExpanded()\n  const isExpandedDeeply = useIsExpandedDeeply()\n  const [expanded, setExpanded] = useState(isExpanded || isExpandedDeeply)\n  const [expandedDeeply, setExpandedDeeply] = useState(false)\n  const Accordion = useComponent(\"Accordion\")\n  const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n  const JSONSchema = useComponent(\"JSONSchema\")\n  const KeywordType = useComponent(\"KeywordType\")\n\n  /**\n   * Event handlers.\n   */\n  const handleExpansion = useCallback(() => {\n    setExpanded((prev) => !prev)\n  }, [])\n  const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n    setExpanded(expandedDeepNew)\n    setExpandedDeeply(expandedDeepNew)\n  }, [])\n\n  /**\n   * Rendering.\n   */\n  if (!Array.isArray(prefixItems) || prefixItems.length === 0) {\n    return null\n  }\n\n  return (\n    <JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>\n      <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--prefixItems\">\n        <Accordion expanded={expanded} onChange={handleExpansion}>\n          <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n            Prefix items\n          </span>\n        </Accordion>\n        <ExpandDeepButton expanded={expanded} onClick={handleExpansionDeep} />\n        <KeywordType schema={{ prefixItems }} />\n        <ul\n          className={classNames(\"json-schema-2020-12-keyword__children\", {\n            \"json-schema-2020-12-keyword__children--collapsed\": !expanded,\n          })}\n        >\n          {expanded && (\n            <>\n              {prefixItems.map((schema, index) => (\n                <li key={`#${index}`} className=\"json-schema-2020-12-property\">\n                  <JSONSchema\n                    name={`#${index} ${fn.getTitle(schema)}`}\n                    schema={schema}\n                  />\n                </li>\n              ))}\n            </>\n          )}\n        </ul>\n      </div>\n    </JSONSchemaDeepExpansionContext.Provider>\n  )\n}\n\nPrefixItems.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default PrefixItems\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst Items = ({ schema }) => {\n  const fn = useFn()\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (!fn.hasKeyword(schema, \"items\")) return null\n\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      Items\n    </span>\n  )\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--items\">\n      <JSONSchema name={name} schema={schema.items} />\n    </div>\n  )\n}\n\nItems.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Items\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst Contains = ({ schema }) => {\n  const fn = useFn()\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (!fn.hasKeyword(schema, \"contains\")) return null\n\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      Contains\n    </span>\n  )\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--contains\">\n      <JSONSchema name={name} schema={schema.contains} />\n    </div>\n  )\n}\n\nContains.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Contains\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../../prop-types\"\nimport { useFn, useComponent } from \"../../../hooks\"\n\nconst Properties = ({ schema }) => {\n  const fn = useFn()\n  const properties = schema?.properties || {}\n  const required = Array.isArray(schema?.required) ? schema.required : []\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (Object.keys(properties).length === 0) {\n    return null\n  }\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--properties\">\n      <ul>\n        {Object.entries(properties).map(([propertyName, propertySchema]) => {\n          const isRequired = required.includes(propertyName)\n          const dependentRequired = fn.getDependentRequired(\n            propertyName,\n            schema\n          )\n\n          return (\n            <li\n              key={propertyName}\n              className={classNames(\"json-schema-2020-12-property\", {\n                \"json-schema-2020-12-property--required\": isRequired,\n              })}\n            >\n              <JSONSchema\n                name={propertyName}\n                schema={propertySchema}\n                dependentRequired={dependentRequired}\n              />\n            </li>\n          )\n        })}\n      </ul>\n    </div>\n  )\n}\n\nProperties.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Properties\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../../prop-types\"\nimport { useComponent } from \"../../../hooks\"\n\nconst PatternProperties = ({ schema }) => {\n  const patternProperties = schema?.patternProperties || {}\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (Object.keys(patternProperties).length === 0) {\n    return null\n  }\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--patternProperties\">\n      <ul>\n        {Object.entries(patternProperties).map(([propertyName, schema]) => (\n          <li key={propertyName} className=\"json-schema-2020-12-property\">\n            <JSONSchema name={propertyName} schema={schema} />\n          </li>\n        ))}\n      </ul>\n    </div>\n  )\n}\n\nPatternProperties.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default PatternProperties\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst AdditionalProperties = ({ schema }) => {\n  const fn = useFn()\n  const { additionalProperties } = schema\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  if (!fn.hasKeyword(schema, \"additionalProperties\")) return null\n\n  /**\n   * Rendering.\n   */\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      Additional properties\n    </span>\n  )\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--additionalProperties\">\n      {additionalProperties === true ? (\n        <>\n          {name}\n          <span className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\">\n            allowed\n          </span>\n        </>\n      ) : additionalProperties === false ? (\n        <>\n          {name}\n          <span className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\">\n            forbidden\n          </span>\n        </>\n      ) : (\n        <JSONSchema name={name} schema={additionalProperties} />\n      )}\n    </div>\n  )\n}\n\nAdditionalProperties.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default AdditionalProperties\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst PropertyNames = ({ schema }) => {\n  const fn = useFn()\n  const { propertyNames } = schema\n  const JSONSchema = useComponent(\"JSONSchema\")\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      Property names\n    </span>\n  )\n\n  /**\n   * Rendering.\n   */\n  if (!fn.hasKeyword(schema, \"propertyNames\")) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--propertyNames\">\n      <JSONSchema name={name} schema={propertyNames} />\n    </div>\n  )\n}\n\nPropertyNames.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default PropertyNames\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst UnevaluatedItems = ({ schema }) => {\n  const fn = useFn()\n  const { unevaluatedItems } = schema\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (!fn.hasKeyword(schema, \"unevaluatedItems\")) return null\n\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      Unevaluated items\n    </span>\n  )\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedItems\">\n      <JSONSchema name={name} schema={unevaluatedItems} />\n    </div>\n  )\n}\n\nUnevaluatedItems.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default UnevaluatedItems\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst UnevaluatedProperties = ({ schema }) => {\n  const fn = useFn()\n  const { unevaluatedProperties } = schema\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (!fn.hasKeyword(schema, \"unevaluatedProperties\")) return null\n\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      Unevaluated properties\n    </span>\n  )\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedProperties\">\n      <JSONSchema name={name} schema={unevaluatedProperties} />\n    </div>\n  )\n}\n\nUnevaluatedProperties.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default UnevaluatedProperties\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn } from \"../../hooks\"\n\nconst Type = ({ schema, isCircular = false }) => {\n  const fn = useFn()\n  const type = fn.getType(schema)\n  const circularSuffix = isCircular ? \" [circular]\" : \"\"\n\n  return (\n    <strong className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\">\n      {`${type}${circularSuffix}`}\n    </strong>\n  )\n}\n\nType.propTypes = {\n  schema: schema.isRequired,\n  isCircular: PropTypes.bool,\n}\n\nexport default Type\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../../prop-types\"\nimport { useFn } from \"../../../hooks\"\n\nconst Enum = ({ schema }) => {\n  const fn = useFn()\n\n  if (!Array.isArray(schema?.enum)) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--enum\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n        Allowed values\n      </span>\n      <ul>\n        {schema.enum.map((element) => {\n          const strigifiedElement = fn.stringify(element)\n\n          return (\n            <li key={strigifiedElement}>\n              <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--const\">\n                {strigifiedElement}\n              </span>\n            </li>\n          )\n        })}\n      </ul>\n    </div>\n  )\n}\n\nEnum.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Enum\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn } from \"../../hooks\"\n\nconst Const = ({ schema }) => {\n  const fn = useFn()\n\n  if (!fn.hasKeyword(schema, \"const\")) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--const\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n        Const\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--const\">\n        {fn.stringify(schema.const)}\n      </span>\n    </div>\n  )\n}\n\nConst.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Const\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\n/**\n * This component represents various constraint keywords\n * from JSON Schema 2020-12 validation vocabulary.\n */\nconst Constraint = ({ constraint }) => (\n  <span\n    className={`json-schema-2020-12__constraint json-schema-2020-12__constraint--${constraint.scope}`}\n  >\n    {constraint.value}\n  </span>\n)\n\nConstraint.propTypes = {\n  constraint: PropTypes.shape({\n    scope: PropTypes.oneOf([\"number\", \"string\", \"array\", \"object\"]).isRequired,\n    value: PropTypes.string.isRequired,\n  }).isRequired,\n}\n\nexport default React.memo(Constraint)\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport * as propTypes from \"../../../prop-types\"\n\nconst DependentRequired = ({ dependentRequired }) => {\n  if (dependentRequired.length === 0) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentRequired\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n        Required when defined\n      </span>\n      <ul>\n        {dependentRequired.map((propertyName) => (\n          <li key={propertyName}>\n            <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--warning\">\n              {propertyName}\n            </span>\n          </li>\n        ))}\n      </ul>\n    </div>\n  )\n}\n\nDependentRequired.propTypes = {\n  schema: propTypes.schema.isRequired,\n  dependentRequired: PropTypes.arrayOf(PropTypes.string).isRequired,\n}\n\nexport default DependentRequired\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst ContentSchema = ({ schema }) => {\n  const fn = useFn()\n  const JSONSchema = useComponent(\"JSONSchema\")\n\n  /**\n   * Rendering.\n   */\n  if (!fn.hasKeyword(schema, \"contentSchema\")) return null\n\n  const name = (\n    <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n      Content schema\n    </span>\n  )\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--contentSchema\">\n      <JSONSchema name={name} schema={schema.contentSchema} />\n    </div>\n  )\n}\n\nContentSchema.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default ContentSchema\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { schema } from \"../../../prop-types\"\nimport { useFn } from \"../../../hooks\"\n\nconst Title = ({ title = \"\", schema }) => {\n  const fn = useFn()\n  const renderedTitle = title || fn.getTitle(schema)\n\n  if (!renderedTitle) return null\n\n  return <div className=\"json-schema-2020-12__title\">{renderedTitle}</div>\n}\n\nTitle.propTypes = {\n  title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n  schema: schema.isRequired,\n}\n\nexport default Title\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../../prop-types\"\n\nconst Description = ({ schema }) => {\n  if (!schema?.description) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--description\">\n      <div className=\"json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary\">\n        {schema.description}\n      </div>\n    </div>\n  )\n}\n\nDescription.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Description\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn } from \"../../hooks\"\n\nconst Default = ({ schema }) => {\n  const fn = useFn()\n\n  if (!fn.hasKeyword(schema, \"default\")) return null\n\n  return (\n    <div className=\"json-schema-2020-12-keyword json-schema-2020-12-keyword--default\">\n      <span className=\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\">\n        Default\n      </span>\n      <span className=\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--const\">\n        {fn.stringify(schema.default)}\n      </span>\n    </div>\n  )\n}\n\nDefault.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Default\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst Deprecated = ({ schema }) => {\n  if (schema?.deprecated !== true) return null\n\n  return (\n    <span className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--warning\">\n      deprecated\n    </span>\n  )\n}\n\nDeprecated.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default Deprecated\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst ReadOnly = ({ schema }) => {\n  if (schema?.readOnly !== true) return null\n\n  return (\n    <span className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted\">\n      read-only\n    </span>\n  )\n}\n\nReadOnly.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default ReadOnly\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst WriteOnly = ({ schema }) => {\n  if (schema?.writeOnly !== true) return null\n\n  return (\n    <span className=\"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted\">\n      write-only\n    </span>\n  )\n}\n\nWriteOnly.propTypes = {\n  schema: schema.isRequired,\n}\n\nexport default WriteOnly\n","/**\n * @prettier\n */\nimport React, { useCallback } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nimport { useComponent } from \"../../hooks\"\n\nconst Accordion = ({ expanded = false, children, onChange }) => {\n  const ChevronRightIcon = useComponent(\"ChevronRightIcon\")\n\n  const handleExpansion = useCallback(\n    (event) => {\n      onChange(event, !expanded)\n    },\n    [expanded, onChange]\n  )\n\n  return (\n    <button\n      type=\"button\"\n      className=\"json-schema-2020-12-accordion\"\n      onClick={handleExpansion}\n    >\n      <div className=\"json-schema-2020-12-accordion__children\">{children}</div>\n      <span\n        className={classNames(\"json-schema-2020-12-accordion__icon\", {\n          \"json-schema-2020-12-accordion__icon--expanded\": expanded,\n          \"json-schema-2020-12-accordion__icon--collapsed\": !expanded,\n        })}\n      >\n        <ChevronRightIcon />\n      </span>\n    </button>\n  )\n}\n\nAccordion.propTypes = {\n  expanded: PropTypes.bool,\n  children: PropTypes.node.isRequired,\n  onChange: PropTypes.func.isRequired,\n}\n\nexport default Accordion\n","/**\n * @prettier\n */\nimport React, { useCallback } from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst ExpandDeepButton = ({ expanded, onClick }) => {\n  const handleExpansion = useCallback(\n    (event) => {\n      onClick(event, !expanded)\n    },\n    [expanded, onClick]\n  )\n\n  return (\n    <button\n      type=\"button\"\n      className=\"json-schema-2020-12-expand-deep-button\"\n      onClick={handleExpansion}\n    >\n      {expanded ? \"Collapse all\" : \"Expand all\"}\n    </button>\n  )\n}\n\nExpandDeepButton.propTypes = {\n  expanded: PropTypes.bool.isRequired,\n  onClick: PropTypes.func.isRequired,\n}\n\nexport default ExpandDeepButton\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nconst ChevronRight = () => (\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n  >\n    <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" />\n  </svg>\n)\n\nexport default ChevronRight\n","/**\n * @prettier\n */\nimport { useFn } from \"./hooks\"\n\nexport const upperFirst = (value) => {\n  if (typeof value === \"string\") {\n    return `${value.charAt(0).toUpperCase()}${value.slice(1)}`\n  }\n  return value\n}\n\n/**\n * Lookup can be `basic` or `extended`. By default the lookup is `extended`.\n */\nexport const getTitle = (schema, { lookup = \"extended\" } = {}) => {\n  const fn = useFn()\n\n  if (schema?.title != null) return fn.upperFirst(String(schema.title))\n  if (lookup === \"extended\") {\n    if (schema?.$anchor != null) return fn.upperFirst(String(schema.$anchor))\n    if (schema?.$id != null) return String(schema.$id)\n  }\n\n  return \"\"\n}\n\nexport const getType = (schema, processedSchemas = new WeakSet()) => {\n  const fn = useFn()\n\n  if (schema == null) {\n    return \"any\"\n  }\n\n  if (fn.isBooleanJSONSchema(schema)) {\n    return schema ? \"any\" : \"never\"\n  }\n\n  if (typeof schema !== \"object\") {\n    return \"any\"\n  }\n\n  if (processedSchemas.has(schema)) {\n    return \"any\" // detect a cycle\n  }\n  processedSchemas.add(schema)\n\n  const { type, prefixItems, items } = schema\n\n  const getArrayType = () => {\n    if (Array.isArray(prefixItems)) {\n      const prefixItemsTypes = prefixItems.map((itemSchema) =>\n        getType(itemSchema, processedSchemas)\n      )\n      const itemsType = items ? getType(items, processedSchemas) : \"any\"\n      return `array<[${prefixItemsTypes.join(\", \")}], ${itemsType}>`\n    } else if (items) {\n      const itemsType = getType(items, processedSchemas)\n      return `array<${itemsType}>`\n    } else {\n      return \"array<any>\"\n    }\n  }\n\n  const inferType = () => {\n    if (\n      Object.hasOwn(schema, \"prefixItems\") ||\n      Object.hasOwn(schema, \"items\") ||\n      Object.hasOwn(schema, \"contains\")\n    ) {\n      return getArrayType()\n    } else if (\n      Object.hasOwn(schema, \"properties\") ||\n      Object.hasOwn(schema, \"additionalProperties\") ||\n      Object.hasOwn(schema, \"patternProperties\")\n    ) {\n      return \"object\"\n    } else if ([\"int32\", \"int64\"].includes(schema.format)) {\n      // OpenAPI 3.1.0 integer custom formats\n      return \"integer\"\n    } else if ([\"float\", \"double\"].includes(schema.format)) {\n      // OpenAPI 3.1.0 number custom formats\n      return \"number\"\n    } else if (\n      Object.hasOwn(schema, \"minimum\") ||\n      Object.hasOwn(schema, \"maximum\") ||\n      Object.hasOwn(schema, \"exclusiveMinimum\") ||\n      Object.hasOwn(schema, \"exclusiveMaximum\") ||\n      Object.hasOwn(schema, \"multipleOf\")\n    ) {\n      return \"number | integer\"\n    } else if (\n      Object.hasOwn(schema, \"pattern\") ||\n      Object.hasOwn(schema, \"format\") ||\n      Object.hasOwn(schema, \"minLength\") ||\n      Object.hasOwn(schema, \"maxLength\")\n    ) {\n      return \"string\"\n    } else if (typeof schema.const !== \"undefined\") {\n      if (schema.const === null) {\n        return \"null\"\n      } else if (typeof schema.const === \"boolean\") {\n        return \"boolean\"\n      } else if (typeof schema.const === \"number\") {\n        return Number.isInteger(schema.const) ? \"integer\" : \"number\"\n      } else if (typeof schema.const === \"string\") {\n        return \"string\"\n      } else if (Array.isArray(schema.const)) {\n        return \"array<any>\"\n      } else if (typeof schema.const === \"object\") {\n        return \"object\"\n      }\n    }\n    return null\n  }\n\n  if (schema.not && getType(schema.not) === \"any\") {\n    return \"never\"\n  }\n\n  const typeString = Array.isArray(type)\n    ? type.map((t) => (t === \"array\" ? getArrayType() : t)).join(\" | \")\n    : type === \"array\"\n      ? getArrayType()\n      : [\n            \"null\",\n            \"boolean\",\n            \"object\",\n            \"array\",\n            \"number\",\n            \"integer\",\n            \"string\",\n          ].includes(type)\n        ? type\n        : inferType()\n\n  const handleCombiningKeywords = (keyword, separator) => {\n    if (Array.isArray(schema[keyword])) {\n      const combinedTypes = schema[keyword].map((subSchema) =>\n        getType(subSchema, processedSchemas)\n      )\n      return `(${combinedTypes.join(separator)})`\n    }\n    return null\n  }\n\n  const oneOfString = handleCombiningKeywords(\"oneOf\", \" | \")\n  const anyOfString = handleCombiningKeywords(\"anyOf\", \" | \")\n  const allOfString = handleCombiningKeywords(\"allOf\", \" & \")\n\n  const combinedStrings = [typeString, oneOfString, anyOfString, allOfString]\n    .filter(Boolean)\n    .join(\" | \")\n\n  processedSchemas.delete(schema)\n\n  return combinedStrings || \"any\"\n}\n\nexport const isBooleanJSONSchema = (schema) => typeof schema === \"boolean\"\n\nexport const hasKeyword = (schema, keyword) =>\n  schema !== null &&\n  typeof schema === \"object\" &&\n  Object.hasOwn(schema, keyword)\n\nexport const isExpandable = (schema) => {\n  const fn = useFn()\n\n  return (\n    schema?.$schema ||\n    schema?.$vocabulary ||\n    schema?.$id ||\n    schema?.$anchor ||\n    schema?.$dynamicAnchor ||\n    schema?.$ref ||\n    schema?.$dynamicRef ||\n    schema?.$defs ||\n    schema?.$comment ||\n    schema?.allOf ||\n    schema?.anyOf ||\n    schema?.oneOf ||\n    fn.hasKeyword(schema, \"not\") ||\n    fn.hasKeyword(schema, \"if\") ||\n    fn.hasKeyword(schema, \"then\") ||\n    fn.hasKeyword(schema, \"else\") ||\n    schema?.dependentSchemas ||\n    schema?.prefixItems ||\n    fn.hasKeyword(schema, \"items\") ||\n    fn.hasKeyword(schema, \"contains\") ||\n    schema?.properties ||\n    schema?.patternProperties ||\n    fn.hasKeyword(schema, \"additionalProperties\") ||\n    fn.hasKeyword(schema, \"propertyNames\") ||\n    fn.hasKeyword(schema, \"unevaluatedItems\") ||\n    fn.hasKeyword(schema, \"unevaluatedProperties\") ||\n    schema?.description ||\n    schema?.enum ||\n    fn.hasKeyword(schema, \"const\") ||\n    fn.hasKeyword(schema, \"contentSchema\") ||\n    fn.hasKeyword(schema, \"default\")\n  )\n}\n\nexport const stringify = (value) => {\n  if (\n    value === null ||\n    [\"number\", \"bigint\", \"boolean\"].includes(typeof value)\n  ) {\n    return String(value)\n  }\n\n  if (Array.isArray(value)) {\n    return `[${value.map(stringify).join(\", \")}]`\n  }\n\n  return JSON.stringify(value)\n}\n\nconst stringifyConstraintMultipleOf = (schema) => {\n  if (typeof schema?.multipleOf !== \"number\") return null\n  if (schema.multipleOf <= 0) return null\n  if (schema.multipleOf === 1) return null\n\n  const { multipleOf } = schema\n\n  if (Number.isInteger(multipleOf)) {\n    return `multiple of ${multipleOf}`\n  }\n\n  const decimalPlaces = multipleOf.toString().split(\".\")[1].length\n  const factor = 10 ** decimalPlaces\n  const numerator = multipleOf * factor\n  const denominator = factor\n  return `multiple of ${numerator}/${denominator}`\n}\n\nconst stringifyConstraintNumberRange = (schema) => {\n  const minimum = schema?.minimum\n  const maximum = schema?.maximum\n  const exclusiveMinimum = schema?.exclusiveMinimum\n  const exclusiveMaximum = schema?.exclusiveMaximum\n  const hasMinimum = typeof minimum === \"number\"\n  const hasMaximum = typeof maximum === \"number\"\n  const hasExclusiveMinimum = typeof exclusiveMinimum === \"number\"\n  const hasExclusiveMaximum = typeof exclusiveMaximum === \"number\"\n  const isMinExclusive = hasExclusiveMinimum && (!hasMinimum || minimum < exclusiveMinimum) // prettier-ignore\n  const isMaxExclusive = hasExclusiveMaximum && (!hasMaximum || maximum > exclusiveMaximum) // prettier-ignore\n\n  if (\n    (hasMinimum || hasExclusiveMinimum) &&\n    (hasMaximum || hasExclusiveMaximum)\n  ) {\n    const minSymbol = isMinExclusive ? \"(\" : \"[\"\n    const maxSymbol = isMaxExclusive ? \")\" : \"]\"\n    const minValue = isMinExclusive ? exclusiveMinimum : minimum\n    const maxValue = isMaxExclusive ? exclusiveMaximum : maximum\n    return `${minSymbol}${minValue}, ${maxValue}${maxSymbol}`\n  }\n  if (hasMinimum || hasExclusiveMinimum) {\n    const minSymbol = isMinExclusive ? \">\" : \"≥\"\n    const minValue = isMinExclusive ? exclusiveMinimum : minimum\n    return `${minSymbol} ${minValue}`\n  }\n  if (hasMaximum || hasExclusiveMaximum) {\n    const maxSymbol = isMaxExclusive ? \"<\" : \"≤\"\n    const maxValue = isMaxExclusive ? exclusiveMaximum : maximum\n    return `${maxSymbol} ${maxValue}`\n  }\n\n  return null\n}\n\nconst stringifyConstraintRange = (label, min, max) => {\n  const hasMin = typeof min === \"number\"\n  const hasMax = typeof max === \"number\"\n\n  if (hasMin && hasMax) {\n    if (min === max) {\n      return `${min} ${label}`\n    } else {\n      return `[${min}, ${max}] ${label}`\n    }\n  }\n  if (hasMin) {\n    return `>= ${min} ${label}`\n  }\n  if (hasMax) {\n    return `<= ${max} ${label}`\n  }\n\n  return null\n}\n\nexport const stringifyConstraints = (schema) => {\n  const constraints = []\n\n  // validation Keywords for Numeric Instances (number and integer)\n  const multipleOf = stringifyConstraintMultipleOf(schema)\n  if (multipleOf !== null) {\n    constraints.push({ scope: \"number\", value: multipleOf })\n  }\n  const numberRange = stringifyConstraintNumberRange(schema)\n  if (numberRange !== null) {\n    constraints.push({ scope: \"number\", value: numberRange })\n  }\n\n  // vocabularies for Semantic Content With \"format\"\n  if (schema?.format) {\n    constraints.push({ scope: \"string\", value: schema.format })\n  }\n\n  // validation Keywords for Strings\n  const stringRange = stringifyConstraintRange(\n    \"characters\",\n    schema?.minLength,\n    schema?.maxLength\n  )\n  if (stringRange !== null) {\n    constraints.push({ scope: \"string\", value: stringRange })\n  }\n  if (schema?.pattern) {\n    constraints.push({ scope: \"string\", value: `matches ${schema?.pattern}` })\n  }\n\n  // vocabulary for the Contents of String-Encoded Data\n  if (schema?.contentMediaType) {\n    constraints.push({\n      scope: \"string\",\n      value: `media type: ${schema.contentMediaType}`,\n    })\n  }\n  if (schema?.contentEncoding) {\n    constraints.push({\n      scope: \"string\",\n      value: `encoding: ${schema.contentEncoding}`,\n    })\n  }\n\n  // validation Keywords for Arrays\n  const arrayRange = stringifyConstraintRange(\n    schema?.hasUniqueItems ? \"unique items\" : \"items\",\n    schema?.minItems,\n    schema?.maxItems\n  )\n  if (arrayRange !== null) {\n    constraints.push({ scope: \"array\", value: arrayRange })\n  }\n  const containsRange = stringifyConstraintRange(\n    \"contained items\",\n    schema?.minContains,\n    schema?.maxContains\n  )\n  if (containsRange !== null) {\n    constraints.push({ scope: \"array\", value: containsRange })\n  }\n\n  // validation Keywords for Objects\n  const objectRange = stringifyConstraintRange(\n    \"properties\",\n    schema?.minProperties,\n    schema?.maxProperties\n  )\n  if (objectRange !== null) {\n    constraints.push({ scope: \"object\", value: objectRange })\n  }\n\n  return constraints\n}\n\nexport const getDependentRequired = (propertyName, schema) => {\n  if (!schema?.dependentRequired) return []\n\n  return Array.from(\n    Object.entries(schema.dependentRequired).reduce((acc, [prop, list]) => {\n      if (!Array.isArray(list)) return acc\n      if (!list.includes(propertyName)) return acc\n\n      acc.add(prop)\n\n      return acc\n    }, new Set())\n  )\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport JSONSchema from \"./components/JSONSchema/JSONSchema\"\nimport Keyword$schema from \"./components/keywords/$schema\"\nimport Keyword$vocabulary from \"./components/keywords/$vocabulary/$vocabulary\"\nimport Keyword$id from \"./components/keywords/$id\"\nimport Keyword$anchor from \"./components/keywords/$anchor\"\nimport Keyword$dynamicAnchor from \"./components/keywords/$dynamicAnchor\"\nimport Keyword$ref from \"./components/keywords/$ref\"\nimport Keyword$dynamicRef from \"./components/keywords/$dynamicRef\"\nimport Keyword$defs from \"./components/keywords/$defs\"\nimport Keyword$comment from \"./components/keywords/$comment\"\nimport KeywordAllOf from \"./components/keywords/AllOf\"\nimport KeywordAnyOf from \"./components/keywords/AnyOf\"\nimport KeywordOneOf from \"./components/keywords/OneOf\"\nimport KeywordNot from \"./components/keywords/Not\"\nimport KeywordIf from \"./components/keywords/If\"\nimport KeywordThen from \"./components/keywords/Then\"\nimport KeywordElse from \"./components/keywords/Else\"\nimport KeywordDependentSchemas from \"./components/keywords/DependentSchemas\"\nimport KeywordPrefixItems from \"./components/keywords/PrefixItems\"\nimport KeywordItems from \"./components/keywords/Items\"\nimport KeywordContains from \"./components/keywords/Contains\"\nimport KeywordProperties from \"./components/keywords/Properties/Properties\"\nimport KeywordPatternProperties from \"./components/keywords/PatternProperties/PatternProperties\"\nimport KeywordAdditionalProperties from \"./components/keywords/AdditionalProperties\"\nimport KeywordPropertyNames from \"./components/keywords/PropertyNames\"\nimport KeywordUnevaluatedItems from \"./components/keywords/UnevaluatedItems\"\nimport KeywordUnevaluatedProperties from \"./components/keywords/UnevaluatedProperties\"\nimport KeywordType from \"./components/keywords/Type\"\nimport KeywordEnum from \"./components/keywords/Enum/Enum\"\nimport KeywordConst from \"./components/keywords/Const\"\nimport KeywordConstraint from \"./components/keywords/Constraint/Constraint\"\nimport KeywordDependentRequired from \"./components/keywords/DependentRequired/DependentRequired\"\nimport KeywordContentSchema from \"./components/keywords/ContentSchema\"\nimport KeywordTitle from \"./components/keywords/Title/Title\"\nimport KeywordDescription from \"./components/keywords/Description/Description\"\nimport KeywordDefault from \"./components/keywords/Default\"\nimport KeywordDeprecated from \"./components/keywords/Deprecated\"\nimport KeywordReadOnly from \"./components/keywords/ReadOnly\"\nimport KeywordWriteOnly from \"./components/keywords/WriteOnly\"\nimport Accordion from \"./components/Accordion/Accordion\"\nimport ExpandDeepButton from \"./components/ExpandDeepButton/ExpandDeepButton\"\nimport ChevronRightIcon from \"./components/icons/ChevronRight\"\nimport { JSONSchemaContext } from \"./context\"\nimport {\n  getTitle,\n  isBooleanJSONSchema,\n  upperFirst,\n  getType,\n  hasKeyword,\n  isExpandable,\n  stringify,\n  stringifyConstraints,\n  getDependentRequired,\n} from \"./fn\"\n\nexport const withJSONSchemaContext = (Component, overrides = {}) => {\n  const value = {\n    components: {\n      JSONSchema,\n      Keyword$schema,\n      Keyword$vocabulary,\n      Keyword$id,\n      Keyword$anchor,\n      Keyword$dynamicAnchor,\n      Keyword$ref,\n      Keyword$dynamicRef,\n      Keyword$defs,\n      Keyword$comment,\n      KeywordAllOf,\n      KeywordAnyOf,\n      KeywordOneOf,\n      KeywordNot,\n      KeywordIf,\n      KeywordThen,\n      KeywordElse,\n      KeywordDependentSchemas,\n      KeywordPrefixItems,\n      KeywordItems,\n      KeywordContains,\n      KeywordProperties,\n      KeywordPatternProperties,\n      KeywordAdditionalProperties,\n      KeywordPropertyNames,\n      KeywordUnevaluatedItems,\n      KeywordUnevaluatedProperties,\n      KeywordType,\n      KeywordEnum,\n      KeywordConst,\n      KeywordConstraint,\n      KeywordDependentRequired,\n      KeywordContentSchema,\n      KeywordTitle,\n      KeywordDescription,\n      KeywordDefault,\n      KeywordDeprecated,\n      KeywordReadOnly,\n      KeywordWriteOnly,\n      Accordion,\n      ExpandDeepButton,\n      ChevronRightIcon,\n      ...overrides.components,\n    },\n    config: {\n      default$schema: \"https://json-schema.org/draft/2020-12/schema\",\n      /**\n       * Defines an upper exclusive boundary of the level range for automatic expansion.\n       *\n       * 0 -> do nothing\n       * 1 -> [0]...(1)\n       * 2 -> [0]...(2)\n       * 3 -> [0]...(3)\n       */\n      defaultExpandedLevels: 0, // 2 = 0...2\n      ...overrides.config,\n    },\n    fn: {\n      upperFirst,\n      getTitle,\n      getType,\n      isBooleanJSONSchema,\n      hasKeyword,\n      isExpandable,\n      stringify,\n      stringifyConstraints,\n      getDependentRequired,\n      ...overrides.fn,\n    },\n  }\n\n  const HOC = (props) => (\n    <JSONSchemaContext.Provider value={value}>\n      <Component {...props} />\n    </JSONSchemaContext.Provider>\n  )\n  HOC.contexts = {\n    JSONSchemaContext,\n  }\n  HOC.displayName = Component.displayName\n\n  return HOC\n}\n","/**\n * @prettier\n */\nimport JSONSchema from \"./components/JSONSchema/JSONSchema\"\nimport Keyword$schema from \"./components/keywords/$schema\"\nimport Keyword$vocabulary from \"./components/keywords/$vocabulary/$vocabulary\"\nimport Keyword$id from \"./components/keywords/$id\"\nimport Keyword$anchor from \"./components/keywords/$anchor\"\nimport Keyword$dynamicAnchor from \"./components/keywords/$dynamicAnchor\"\nimport Keyword$ref from \"./components/keywords/$ref\"\nimport Keyword$dynamicRef from \"./components/keywords/$dynamicRef\"\nimport Keyword$defs from \"./components/keywords/$defs\"\nimport Keyword$comment from \"./components/keywords/$comment\"\nimport KeywordAllOf from \"./components/keywords/AllOf\"\nimport KeywordAnyOf from \"./components/keywords/AnyOf\"\nimport KeywordOneOf from \"./components/keywords/OneOf\"\nimport KeywordNot from \"./components/keywords/Not\"\nimport KeywordIf from \"./components/keywords/If\"\nimport KeywordThen from \"./components/keywords/Then\"\nimport KeywordElse from \"./components/keywords/Else\"\nimport KeywordDependentSchemas from \"./components/keywords/DependentSchemas\"\nimport KeywordPrefixItems from \"./components/keywords/PrefixItems\"\nimport KeywordItems from \"./components/keywords/Items\"\nimport KeywordContains from \"./components/keywords/Contains\"\nimport KeywordProperties from \"./components/keywords/Properties/Properties\"\nimport KeywordPatternProperties from \"./components/keywords/PatternProperties/PatternProperties\"\nimport KeywordAdditionalProperties from \"./components/keywords/AdditionalProperties\"\nimport KeywordPropertyNames from \"./components/keywords/PropertyNames\"\nimport KeywordUnevaluatedItems from \"./components/keywords/UnevaluatedItems\"\nimport KeywordUnevaluatedProperties from \"./components/keywords/UnevaluatedProperties\"\nimport KeywordType from \"./components/keywords/Type\"\nimport KeywordEnum from \"./components/keywords/Enum/Enum\"\nimport KeywordConst from \"./components/keywords/Const\"\nimport KeywordConstraint from \"./components/keywords/Constraint/Constraint\"\nimport KeywordDependentRequired from \"./components/keywords/DependentRequired/DependentRequired\"\nimport KeywordContentSchema from \"./components/keywords/ContentSchema\"\nimport KeywordTitle from \"./components/keywords/Title/Title\"\nimport KeywordDescription from \"./components/keywords/Description/Description\"\nimport KeywordDefault from \"./components/keywords/Default\"\nimport KeywordDeprecated from \"./components/keywords/Deprecated\"\nimport KeywordReadOnly from \"./components/keywords/ReadOnly\"\nimport KeywordWriteOnly from \"./components/keywords/WriteOnly\"\nimport Accordion from \"./components/Accordion/Accordion\"\nimport ExpandDeepButton from \"./components/ExpandDeepButton/ExpandDeepButton\"\nimport ChevronRightIcon from \"./components/icons/ChevronRight\"\nimport { upperFirst, hasKeyword, isExpandable } from \"./fn\"\nimport { JSONSchemaDeepExpansionContext } from \"./context\"\nimport { useFn, useConfig, useComponent, useIsExpandedDeeply } from \"./hooks\"\nimport { withJSONSchemaContext } from \"./hoc\"\n\nconst JSONSchema202012Plugin = () => ({\n  components: {\n    JSONSchema202012: JSONSchema,\n    JSONSchema202012Keyword$schema: Keyword$schema,\n    JSONSchema202012Keyword$vocabulary: Keyword$vocabulary,\n    JSONSchema202012Keyword$id: Keyword$id,\n    JSONSchema202012Keyword$anchor: Keyword$anchor,\n    JSONSchema202012Keyword$dynamicAnchor: Keyword$dynamicAnchor,\n    JSONSchema202012Keyword$ref: Keyword$ref,\n    JSONSchema202012Keyword$dynamicRef: Keyword$dynamicRef,\n    JSONSchema202012Keyword$defs: Keyword$defs,\n    JSONSchema202012Keyword$comment: Keyword$comment,\n    JSONSchema202012KeywordAllOf: KeywordAllOf,\n    JSONSchema202012KeywordAnyOf: KeywordAnyOf,\n    JSONSchema202012KeywordOneOf: KeywordOneOf,\n    JSONSchema202012KeywordNot: KeywordNot,\n    JSONSchema202012KeywordIf: KeywordIf,\n    JSONSchema202012KeywordThen: KeywordThen,\n    JSONSchema202012KeywordElse: KeywordElse,\n    JSONSchema202012KeywordDependentSchemas: KeywordDependentSchemas,\n    JSONSchema202012KeywordPrefixItems: KeywordPrefixItems,\n    JSONSchema202012KeywordItems: KeywordItems,\n    JSONSchema202012KeywordContains: KeywordContains,\n    JSONSchema202012KeywordProperties: KeywordProperties,\n    JSONSchema202012KeywordPatternProperties: KeywordPatternProperties,\n    JSONSchema202012KeywordAdditionalProperties: KeywordAdditionalProperties,\n    JSONSchema202012KeywordPropertyNames: KeywordPropertyNames,\n    JSONSchema202012KeywordUnevaluatedItems: KeywordUnevaluatedItems,\n    JSONSchema202012KeywordUnevaluatedProperties: KeywordUnevaluatedProperties,\n    JSONSchema202012KeywordType: KeywordType,\n    JSONSchema202012KeywordEnum: KeywordEnum,\n    JSONSchema202012KeywordConst: KeywordConst,\n    JSONSchema202012KeywordConstraint: KeywordConstraint,\n    JSONSchema202012KeywordDependentRequired: KeywordDependentRequired,\n    JSONSchema202012KeywordContentSchema: KeywordContentSchema,\n    JSONSchema202012KeywordTitle: KeywordTitle,\n    JSONSchema202012KeywordDescription: KeywordDescription,\n    JSONSchema202012KeywordDefault: KeywordDefault,\n    JSONSchema202012KeywordDeprecated: KeywordDeprecated,\n    JSONSchema202012KeywordReadOnly: KeywordReadOnly,\n    JSONSchema202012KeywordWriteOnly: KeywordWriteOnly,\n    JSONSchema202012Accordion: Accordion,\n    JSONSchema202012ExpandDeepButton: ExpandDeepButton,\n    JSONSchema202012ChevronRightIcon: ChevronRightIcon,\n    withJSONSchema202012Context: withJSONSchemaContext,\n    JSONSchema202012DeepExpansionContext: () => JSONSchemaDeepExpansionContext,\n  },\n  fn: {\n    upperFirst,\n    jsonSchema202012: {\n      isExpandable,\n      hasKeyword,\n      useFn,\n      useConfig,\n      useComponent,\n      useIsExpandedDeeply,\n    },\n  },\n})\n\nexport default JSONSchema202012Plugin\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/isPlainObject\");","/**\n * @prettier\n */\n\nexport const applyArrayConstraints = (array, constraints = {}) => {\n  const { minItems, maxItems, uniqueItems } = constraints\n  const { contains, minContains, maxContains } = constraints\n  let constrainedArray = [...array]\n\n  if (contains != null && typeof contains === \"object\") {\n    if (Number.isInteger(minContains) && minContains > 1) {\n      const containsItem = constrainedArray.at(0)\n      for (let i = 1; i < minContains; i += 1) {\n        constrainedArray.unshift(containsItem)\n      }\n    }\n    if (Number.isInteger(maxContains) && maxContains > 0) {\n      /**\n       * This is noop. `minContains` already generate minimum required\n       * number of items that satisfies `contains`. `maxContains` would\n       * have no effect.\n       */\n    }\n  }\n\n  if (Number.isInteger(maxItems) && maxItems > 0) {\n    constrainedArray = array.slice(0, maxItems)\n  }\n  if (Number.isInteger(minItems) && minItems > 0) {\n    for (let i = 0; constrainedArray.length < minItems; i += 1) {\n      constrainedArray.push(constrainedArray[i % constrainedArray.length])\n    }\n  }\n\n  if (uniqueItems === true) {\n    /**\n     *  If uniqueItems is true, it implies that every item in the array must be unique.\n     *  This overrides any minItems constraint that cannot be satisfied with unique items.\n     *  So if minItems is greater than the number of unique items,\n     *  it should be reduced to the number of unique items.\n     */\n    constrainedArray = Array.from(new Set(constrainedArray))\n  }\n\n  return constrainedArray\n}\n\nconst arrayType = (schema, { sample }) => {\n  return applyArrayConstraints(sample, schema)\n}\n\nexport default arrayType\n","/**\n * @prettier\n */\n\nconst objectType = () => {\n  throw new Error(\"Not implemented\")\n}\n\nexport default objectType\n","/**\n * @prettier\n */\nimport randomBytes from \"randombytes\"\nimport RandExp from \"randexp\"\n\n/**\n * Some of the functions returns constants. This is due to the nature\n * of SwaggerUI expectations - provide as stable data as possible.\n *\n * In future, we may decide to randomize these function and provide\n * true random values.\n */\n\nexport const bytes = (length) => randomBytes(length)\n\nexport const randexp = (pattern) => {\n  try {\n    const randexpInstance = new RandExp(pattern)\n    return randexpInstance.gen()\n  } catch {\n    // invalid regex should not cause a crash (regex syntax varies across languages)\n    return \"string\"\n  }\n}\n\nexport const pick = (list) => {\n  return list.at(0)\n}\n\nexport const string = () => \"string\"\n\nexport const number = () => 0\n\nexport const integer = () => 0\n","/**\n * @prettier\n */\nimport isPlainObject from \"lodash/isPlainObject\"\n\nexport const isBooleanJSONSchema = (schema) => {\n  return typeof schema === \"boolean\"\n}\n\nexport const isJSONSchemaObject = (schema) => {\n  return isPlainObject(schema)\n}\n\nexport const isJSONSchema = (schema) => {\n  return isBooleanJSONSchema(schema) || isJSONSchemaObject(schema)\n}\n","/**\n * @prettier\n */\nclass Registry {\n  data = {}\n\n  register(name, value) {\n    this.data[name] = value\n  }\n\n  unregister(name) {\n    if (typeof name === \"undefined\") {\n      this.data = {}\n    } else {\n      delete this.data[name]\n    }\n  }\n\n  get(name) {\n    return this.data[name]\n  }\n}\n\nexport default Registry\n","/**\n * @prettier\n */\nconst int32Generator = () => (2 ** 30) >>> 0\n\nexport default int32Generator\n","/**\n * @prettier\n */\nconst int64Generator = () => 2 ** 53 - 1\n\nexport default int64Generator\n","/**\n * @prettier\n */\nconst floatGenerator = () => 0.1\n\nexport default floatGenerator\n","/**\n * @prettier\n */\nconst doubleGenerator = () => 0.1\n\nexport default doubleGenerator\n","/**\n * @prettier\n */\nconst emailGenerator = () => \"user@example.com\"\n\nexport default emailGenerator\n","/**\n * @prettier\n */\nconst idnEmailGenerator = () => \"실례@example.com\"\n\nexport default idnEmailGenerator\n","/**\n * @prettier\n */\nconst hostnameGenerator = () => \"example.com\"\n\nexport default hostnameGenerator\n","/**\n * @prettier\n */\nconst idnHostnameGenerator = () => \"실례.com\"\n\nexport default idnHostnameGenerator\n","/**\n * @prettier\n */\nconst ipv4Generator = () => \"198.51.100.42\"\n\nexport default ipv4Generator\n","/**\n * @prettier\n */\nconst ipv6Generator = () => \"2001:0db8:5b96:0000:0000:426f:8e17:642a\"\n\nexport default ipv6Generator\n","/**\n * @prettier\n */\nconst uriGenerator = () => \"https://example.com/\"\n\nexport default uriGenerator\n","/**\n * @prettier\n */\nconst uriReferenceGenerator = () => \"path/index.html\"\n\nexport default uriReferenceGenerator\n","/**\n * @prettier\n */\nconst iriGenerator = () => \"https://실례.com/\"\n\nexport default iriGenerator\n","/**\n * @prettier\n */\nconst iriReferenceGenerator = () => \"path/실례.html\"\n\nexport default iriReferenceGenerator\n","/**\n * @prettier\n */\nconst uuidGenerator = () => \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n\nexport default uuidGenerator\n","/**\n * @prettier\n */\nconst uriTemplateGenerator = () =>\n  \"https://example.com/dictionary/{term:1}/{term}\"\n\nexport default uriTemplateGenerator\n","/**\n * @prettier\n */\nconst jsonPointerGenerator = () => \"/a/b/c\"\n\nexport default jsonPointerGenerator\n","/**\n * @prettier\n */\nconst relativeJsonPointerGenerator = () => \"1/0\"\n\nexport default relativeJsonPointerGenerator\n","/**\n * @prettier\n */\nconst dateTimeGenerator = () => new Date().toISOString()\n\nexport default dateTimeGenerator\n","/**\n * @prettier\n */\nconst dateGenerator = () => new Date().toISOString().substring(0, 10)\n\nexport default dateGenerator\n","/**\n * @prettier\n */\nconst timeGenerator = () => new Date().toISOString().substring(11)\n\nexport default timeGenerator\n","/**\n * @prettier\n */\nconst durationGenerator = () => \"P3D\" // expresses a duration of 3 days\n\nexport default durationGenerator\n","/**\n * @prettier\n */\nconst passwordGenerator = () => \"********\"\n\nexport default passwordGenerator\n","/**\n * @prettier\n */\nconst regexGenerator = () => \"^[a-z]+$\"\n\nexport default regexGenerator\n","/**\n * @prettier\n */\nimport Registry from \"./Registry\"\nimport int32Generator from \"../generators/int32\"\nimport int64Generator from \"../generators/int64\"\nimport floatGenerator from \"../generators/float\"\nimport doubleGenerator from \"../generators/double\"\nimport emailGenerator from \"../generators/email\"\nimport idnEmailGenerator from \"../generators/idn-email\"\nimport hostnameGenerator from \"../generators/hostname\"\nimport idnHostnameGenerator from \"../generators/idn-hostname\"\nimport ipv4Generator from \"../generators/ipv4\"\nimport ipv6Generator from \"../generators/ipv6\"\nimport uriGenerator from \"../generators/uri\"\nimport uriReferenceGenerator from \"../generators/uri-reference\"\nimport iriGenerator from \"../generators/iri\"\nimport iriReferenceGenerator from \"../generators/iri-reference\"\nimport uuidGenerator from \"../generators/uuid\"\nimport uriTemplateGenerator from \"../generators/uri-template\"\nimport jsonPointerGenerator from \"../generators/json-pointer\"\nimport relativeJsonPointerGenerator from \"../generators/relative-json-pointer\"\nimport dateTimeGenerator from \"../generators/date-time\"\nimport dateGenerator from \"../generators/date\"\nimport timeGenerator from \"../generators/time\"\nimport durationGenerator from \"../generators/duration\"\nimport passwordGenerator from \"../generators/password\"\nimport regexGenerator from \"../generators/regex\"\n\nclass FormatRegistry extends Registry {\n  #defaults = {\n    int32: int32Generator,\n    int64: int64Generator,\n    float: floatGenerator,\n    double: doubleGenerator,\n    email: emailGenerator,\n    \"idn-email\": idnEmailGenerator,\n    hostname: hostnameGenerator,\n    \"idn-hostname\": idnHostnameGenerator,\n    ipv4: ipv4Generator,\n    ipv6: ipv6Generator,\n    uri: uriGenerator,\n    \"uri-reference\": uriReferenceGenerator,\n    iri: iriGenerator,\n    \"iri-reference\": iriReferenceGenerator,\n    uuid: uuidGenerator,\n    \"uri-template\": uriTemplateGenerator,\n    \"json-pointer\": jsonPointerGenerator,\n    \"relative-json-pointer\": relativeJsonPointerGenerator,\n    \"date-time\": dateTimeGenerator,\n    date: dateGenerator,\n    time: timeGenerator,\n    duration: durationGenerator,\n    password: passwordGenerator,\n    regex: regexGenerator,\n  }\n\n  data = { ...this.#defaults }\n\n  get defaults() {\n    return { ...this.#defaults }\n  }\n}\n\nexport default FormatRegistry\n","/**\n * @prettier\n */\n\nimport FormatRegistry from \"../class/FormatRegistry\"\n\nconst registry = new FormatRegistry()\n\nconst formatAPI = (format, generator) => {\n  if (typeof generator === \"function\") {\n    return registry.register(format, generator)\n  } else if (generator === null) {\n    return registry.unregister(format)\n  }\n\n  return registry.get(format)\n}\nformatAPI.getDefaults = () => registry.defaults\n\nexport default formatAPI\n","/**\n * @prettier\n */\nconst encode7bit = (content) => Buffer.from(content).toString(\"ascii\")\n\nexport default encode7bit\n","/**\n * @prettier\n */\nconst encode8bit = (content) => Buffer.from(content).toString(\"utf8\")\n\nexport default encode8bit\n","/**\n * @prettier\n */\nconst encodeBinary = (content) => Buffer.from(content).toString(\"binary\")\n\nexport default encodeBinary\n","/**\n * @prettier\n */\nconst encodeQuotedPrintable = (content) => {\n  let quotedPrintable = \"\"\n\n  for (let i = 0; i < content.length; i++) {\n    const charCode = content.charCodeAt(i)\n\n    if (charCode === 61) {\n      // ASCII content of \"=\"\n      quotedPrintable += \"=3D\"\n    } else if (\n      (charCode >= 33 && charCode <= 60) ||\n      (charCode >= 62 && charCode <= 126) ||\n      charCode === 9 ||\n      charCode === 32\n    ) {\n      quotedPrintable += content.charAt(i)\n    } else if (charCode === 13 || charCode === 10) {\n      quotedPrintable += \"\\r\\n\"\n    } else if (charCode > 126) {\n      // convert non-ASCII characters to UTF-8 and encode each byte\n      const utf8 = unescape(encodeURIComponent(content.charAt(i)))\n      for (let j = 0; j < utf8.length; j++) {\n        quotedPrintable +=\n          \"=\" + (\"0\" + utf8.charCodeAt(j).toString(16)).slice(-2).toUpperCase()\n      }\n    } else {\n      quotedPrintable +=\n        \"=\" + (\"0\" + charCode.toString(16)).slice(-2).toUpperCase()\n    }\n  }\n\n  return quotedPrintable\n}\n\nexport default encodeQuotedPrintable\n","/**\n * @prettier\n */\nconst encodeBase16 = (content) => Buffer.from(content).toString(\"hex\")\n\nexport default encodeBase16\n","/**\n * @prettier\n */\nconst encodeBase32 = (content) => {\n  const utf8Value = Buffer.from(content).toString(\"utf8\")\n  const base32Alphabet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\"\n  let paddingCount = 0\n  let base32Str = \"\"\n  let buffer = 0\n  let bufferLength = 0\n\n  for (let i = 0; i < utf8Value.length; i++) {\n    buffer = (buffer << 8) | utf8Value.charCodeAt(i)\n    bufferLength += 8\n\n    while (bufferLength >= 5) {\n      base32Str += base32Alphabet.charAt((buffer >>> (bufferLength - 5)) & 31)\n      bufferLength -= 5\n    }\n  }\n\n  if (bufferLength > 0) {\n    base32Str += base32Alphabet.charAt((buffer << (5 - bufferLength)) & 31)\n    paddingCount = (8 - ((utf8Value.length * 8) % 5)) % 5\n  }\n\n  for (let i = 0; i < paddingCount; i++) {\n    base32Str += \"=\"\n  }\n\n  return base32Str\n}\n\nexport default encodeBase32\n","/**\n * @prettier\n */\nconst encodeBase64 = (content) => Buffer.from(content).toString(\"base64\")\n\nexport default encodeBase64\n","/**\n * @prettier\n */\nconst encodeBase64Url = (content) => Buffer.from(content).toString(\"base64url\")\n\nexport default encodeBase64Url\n","/**\n * @prettier\n */\nimport Registry from \"./Registry\"\nimport encode7bit from \"../encoders/7bit\"\nimport encode8bit from \"../encoders/8bit\"\nimport encodeBinary from \"../encoders/binary\"\nimport encodeQuotedPrintable from \"../encoders/quoted-printable\"\nimport encodeBase16 from \"../encoders/base16\"\nimport encodeBase32 from \"../encoders/base32\"\nimport encodeBase64 from \"../encoders/base64\"\nimport encodeBase64Url from \"../encoders/base64url\"\n\nclass EncoderRegistry extends Registry {\n  #defaults = {\n    \"7bit\": encode7bit,\n    \"8bit\": encode8bit,\n    binary: encodeBinary,\n    \"quoted-printable\": encodeQuotedPrintable,\n    base16: encodeBase16,\n    base32: encodeBase32,\n    base64: encodeBase64,\n    base64url: encodeBase64Url,\n  }\n\n  data = { ...this.#defaults }\n\n  get defaults() {\n    return { ...this.#defaults }\n  }\n}\n\nexport default EncoderRegistry\n","/**\n * @prettier\n */\n\nimport EncoderRegistry from \"../class/EncoderRegistry\"\n\nconst registry = new EncoderRegistry()\n\nconst encoderAPI = (encodingName, encoder) => {\n  if (typeof encoder === \"function\") {\n    return registry.register(encodingName, encoder)\n  } else if (encoder === null) {\n    return registry.unregister(encodingName)\n  }\n\n  return registry.get(encodingName)\n}\nencoderAPI.getDefaults = () => registry.defaults\n\nexport default encoderAPI\n","/**\n * @prettier\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\nconst textMediaTypesGenerators = {\n  \"text/plain\": () => \"string\",\n  \"text/css\": () => \".selector { border: 1px solid red }\",\n  \"text/csv\": () => \"value1,value2,value3\",\n  \"text/html\": () => \"<p>content</p>\",\n  \"text/calendar\": () => \"BEGIN:VCALENDAR\",\n  \"text/javascript\": () => \"console.dir('Hello world!');\",\n  \"text/xml\": () => '<person age=\"30\">John Doe</person>',\n  \"text/*\": () => \"string\",\n}\n\nexport default textMediaTypesGenerators\n","/**\n * @prettier\n */\nimport { bytes } from \"../../core/random\"\n\nconst imageMediaTypesGenerators = {\n  \"image/*\": () => bytes(25).toString(\"binary\"),\n}\n\nexport default imageMediaTypesGenerators\n","/**\n * @prettier\n */\nimport { bytes } from \"../../core/random\"\n\nconst audioMediaTypesGenerators = {\n  \"audio/*\": () => bytes(25).toString(\"binary\"),\n}\n\nexport default audioMediaTypesGenerators\n","/**\n * @prettier\n */\nimport { bytes } from \"../../core/random\"\n\nconst videoMediaTypesGenerators = {\n  \"video/*\": () => bytes(25).toString(\"binary\"),\n}\n\nexport default videoMediaTypesGenerators\n","/**\n * @prettier\n */\nimport { bytes } from \"../../core/random\"\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\nconst applicationMediaTypesGenerators = {\n  \"application/json\": () => '{\"key\":\"value\"}',\n  \"application/ld+json\": () => '{\"name\": \"John Doe\"}',\n  \"application/x-httpd-php\": () => \"<?php echo '<p>Hello World!</p>'; ?>\",\n  \"application/rtf\": () => String.raw`{\\rtf1\\adeflang1025\\ansi\\ansicpg1252\\uc1`,\n  \"application/x-sh\": () => 'echo \"Hello World!\"',\n  \"application/xhtml+xml\": () => \"<p>content</p>\",\n  \"application/*\": () => bytes(25).toString(\"binary\"),\n}\n\nexport default applicationMediaTypesGenerators\n","/**\n * @prettier\n */\nimport Registry from \"./Registry\"\nimport textMediaTypesGenerators from \"../generators/media-types/text\"\nimport imageMediaTypesGenerators from \"../generators/media-types/image\"\nimport audioMediaTypesGenerators from \"../generators/media-types/audio\"\nimport videoMediaTypesGenerators from \"../generators/media-types/video\"\nimport applicationMediaTypesGenerators from \"../generators/media-types/application\"\n\nclass MediaTypeRegistry extends Registry {\n  #defaults = {\n    ...textMediaTypesGenerators,\n    ...imageMediaTypesGenerators,\n    ...audioMediaTypesGenerators,\n    ...videoMediaTypesGenerators,\n    ...applicationMediaTypesGenerators,\n  }\n\n  data = { ...this.#defaults }\n\n  get defaults() {\n    return { ...this.#defaults }\n  }\n}\n\nexport default MediaTypeRegistry\n","/**\n * @prettier\n */\n\nimport MediaTypeRegistry from \"../class/MediaTypeRegistry\"\n\nconst registry = new MediaTypeRegistry()\n\nconst mediaTypeAPI = (mediaType, generator) => {\n  if (typeof generator === \"function\") {\n    return registry.register(mediaType, generator)\n  } else if (generator === null) {\n    return registry.unregister(mediaType)\n  }\n\n  const mediaTypeNoParams = mediaType.split(\";\").at(0)\n  const topLevelMediaType = `${mediaTypeNoParams.split(\"/\").at(0)}/*`\n\n  return (\n    registry.get(mediaType) ||\n    registry.get(mediaTypeNoParams) ||\n    registry.get(topLevelMediaType)\n  )\n}\nmediaTypeAPI.getDefaults = () => registry.defaults\n\nexport default mediaTypeAPI\n","/**\n * @prettier\n */\nimport identity from \"lodash/identity\"\n\nimport { string as randomString, randexp } from \"../core/random\"\nimport { isJSONSchema } from \"../core/predicates\"\nimport formatAPI from \"../api/formatAPI\"\nimport encoderAPI from \"../api/encoderAPI\"\nimport mediaTypeAPI from \"../api/mediaTypeAPI\"\n\nconst generateFormat = (schema) => {\n  const { format } = schema\n\n  const formatGenerator = formatAPI(format)\n  if (typeof formatGenerator === \"function\") {\n    return formatGenerator(schema)\n  }\n\n  return randomString()\n}\n\nconst generateMediaType = (schema) => {\n  const { contentMediaType } = schema\n\n  const mediaTypeGenerator = mediaTypeAPI(contentMediaType)\n  if (typeof mediaTypeGenerator === \"function\") {\n    return mediaTypeGenerator(schema)\n  }\n\n  return randomString()\n}\n\nconst applyStringConstraints = (string, constraints = {}) => {\n  const { maxLength, minLength } = constraints\n  let constrainedString = string\n\n  if (Number.isInteger(maxLength) && maxLength > 0) {\n    constrainedString = constrainedString.slice(0, maxLength)\n  }\n  if (Number.isInteger(minLength) && minLength > 0) {\n    let i = 0\n    while (constrainedString.length < minLength) {\n      constrainedString += constrainedString[i++ % constrainedString.length]\n    }\n  }\n\n  return constrainedString\n}\n\nconst stringType = (schema, { sample } = {}) => {\n  const { contentEncoding, contentMediaType, contentSchema } = schema\n  const { pattern, format } = schema\n  const encode = encoderAPI(contentEncoding) || identity\n  let generatedString\n\n  if (typeof pattern === \"string\") {\n    generatedString = applyStringConstraints(randexp(pattern), schema)\n  } else if (typeof format === \"string\") {\n    generatedString = generateFormat(schema)\n  } else if (\n    isJSONSchema(contentSchema) &&\n    typeof contentMediaType === \"string\" &&\n    typeof sample !== \"undefined\"\n  ) {\n    if (Array.isArray(sample) || typeof sample === \"object\") {\n      generatedString = JSON.stringify(sample)\n    } else {\n      generatedString = applyStringConstraints(String(sample), schema)\n    }\n  } else if (typeof contentMediaType === \"string\") {\n    generatedString = generateMediaType(schema)\n  } else {\n    generatedString = applyStringConstraints(randomString(), schema)\n  }\n\n  return encode(generatedString)\n}\n\nexport default stringType\n","/**\n * @prettier\n */\nimport { number as randomNumber } from \"../core/random\"\nimport formatAPI from \"../api/formatAPI\"\n\nconst generateFormat = (schema) => {\n  const { format } = schema\n\n  const formatGenerator = formatAPI(format)\n  if (typeof formatGenerator === \"function\") {\n    return formatGenerator(schema)\n  }\n\n  return randomNumber()\n}\n\nexport const applyNumberConstraints = (number, constraints = {}) => {\n  const { minimum, maximum, exclusiveMinimum, exclusiveMaximum } = constraints\n  const { multipleOf } = constraints\n  const epsilon = Number.isInteger(number) ? 1 : Number.EPSILON\n  let minValue = typeof minimum === \"number\" ? minimum : null\n  let maxValue = typeof maximum === \"number\" ? maximum : null\n  let constrainedNumber = number\n\n  if (typeof exclusiveMinimum === \"number\") {\n    minValue =\n      minValue !== null\n        ? Math.max(minValue, exclusiveMinimum + epsilon)\n        : exclusiveMinimum + epsilon\n  }\n  if (typeof exclusiveMaximum === \"number\") {\n    maxValue =\n      maxValue !== null\n        ? Math.min(maxValue, exclusiveMaximum - epsilon)\n        : exclusiveMaximum - epsilon\n  }\n  constrainedNumber =\n    (minValue > maxValue && number) || minValue || maxValue || constrainedNumber\n\n  if (typeof multipleOf === \"number\" && multipleOf > 0) {\n    const remainder = constrainedNumber % multipleOf\n    constrainedNumber =\n      remainder === 0\n        ? constrainedNumber\n        : constrainedNumber + multipleOf - remainder\n  }\n\n  return constrainedNumber\n}\n\nconst numberType = (schema) => {\n  const { format } = schema\n  let generatedNumber\n\n  if (typeof format === \"string\") {\n    generatedNumber = generateFormat(schema)\n  } else {\n    generatedNumber = randomNumber()\n  }\n\n  return applyNumberConstraints(generatedNumber, schema)\n}\n\nexport default numberType\n","/**\n * @prettier\n */\nimport { integer as randomInteger } from \"../core/random\"\nimport formatAPI from \"../api/formatAPI\"\nimport int32Generator from \"../generators/int32\"\nimport int64Generator from \"../generators/int64\"\nimport { applyNumberConstraints } from \"./number\"\n\nconst generateFormat = (schema) => {\n  const { format } = schema\n\n  const formatGenerator = formatAPI(format)\n  if (typeof formatGenerator === \"function\") {\n    return formatGenerator(schema)\n  }\n\n  switch (format) {\n    case \"int32\": {\n      return int32Generator()\n    }\n    case \"int64\": {\n      return int64Generator()\n    }\n  }\n\n  return randomInteger()\n}\n\nconst integerType = (schema) => {\n  const { format } = schema\n  let generatedInteger\n\n  if (typeof format === \"string\") {\n    generatedInteger = generateFormat(schema)\n  } else {\n    generatedInteger = randomInteger()\n  }\n\n  return applyNumberConstraints(generatedInteger, schema)\n}\n\nexport default integerType\n","/**\n * @prettier\n */\n\nconst booleanType = (schema) => {\n  return typeof schema.default === \"boolean\" ? schema.default : true\n}\n\nexport default booleanType\n","/**\n * @prettier\n */\nimport arrayType from \"./array\"\nimport objectType from \"./object\"\nimport stringType from \"./string\"\nimport numberType from \"./number\"\nimport integerType from \"./integer\"\nimport booleanType from \"./boolean\"\nimport nullType from \"./null\"\n\nconst typeMap = {\n  array: arrayType,\n  object: objectType,\n  string: stringType,\n  number: numberType,\n  integer: integerType,\n  boolean: booleanType,\n  null: nullType,\n}\n\nexport default new Proxy(typeMap, {\n  get(target, prop) {\n    if (typeof prop === \"string\" && Object.hasOwn(target, prop)) {\n      return target[prop]\n    }\n\n    return () => `Unknown Type: ${prop}`\n  },\n})\n","/**\n * @prettier\n */\n\nconst nullType = () => {\n  return null\n}\n\nexport default nullType\n","/**\n * @prettier\n */\nexport const SCALAR_TYPES = [\"number\", \"integer\", \"string\", \"boolean\", \"null\"]\n\nexport const ALL_TYPES = [\"array\", \"object\", ...SCALAR_TYPES]\n","/**\n * @prettier\n */\nimport { isJSONSchemaObject } from \"./predicates\"\n\n/**\n * Precedence of keywords that provides author defined values (top of the list = higher priority)\n *\n *  ### examples\n *  Array containing example values for the item defined by the schema.\n *  Not guaranteed to be valid or invalid against the schema\n *\n *  ### default\n *  Default value for an item defined by the schema.\n *  Is expected to be a valid instance of the schema.\n *\n *  ### example\n *  Deprecated. Part of OpenAPI 3.1.0 Schema Object dialect.\n *  Represents single example. Equivalent of `examples` keywords\n *  with single item.\n */\n\nexport const hasExample = (schema) => {\n  if (!isJSONSchemaObject(schema)) return false\n\n  const { examples, example, default: defaultVal } = schema\n\n  if (Array.isArray(examples) && examples.length >= 1) {\n    return true\n  }\n\n  if (typeof defaultVal !== \"undefined\") {\n    return true\n  }\n\n  return typeof example !== \"undefined\"\n}\n\nexport const extractExample = (schema) => {\n  if (!isJSONSchemaObject(schema)) return null\n\n  const { examples, example, default: defaultVal } = schema\n\n  if (Array.isArray(examples) && examples.length >= 1) {\n    return examples.at(0)\n  }\n\n  if (typeof defaultVal !== \"undefined\") {\n    return defaultVal\n  }\n\n  if (typeof example !== \"undefined\") {\n    return example\n  }\n\n  return undefined\n}\n","/**\n * @prettier\n */\nimport { ALL_TYPES } from \"./constants\"\nimport { isJSONSchemaObject } from \"./predicates\"\nimport { pick as randomPick } from \"./random\"\nimport { hasExample, extractExample } from \"./example\"\n\nconst inferringKeywords = {\n  array: [\n    \"items\",\n    \"prefixItems\",\n    \"contains\",\n    \"maxContains\",\n    \"minContains\",\n    \"maxItems\",\n    \"minItems\",\n    \"uniqueItems\",\n    \"unevaluatedItems\",\n  ],\n  object: [\n    \"properties\",\n    \"additionalProperties\",\n    \"patternProperties\",\n    \"propertyNames\",\n    \"minProperties\",\n    \"maxProperties\",\n    \"required\",\n    \"dependentSchemas\",\n    \"dependentRequired\",\n    \"unevaluatedProperties\",\n  ],\n  string: [\n    \"pattern\",\n    \"format\",\n    \"minLength\",\n    \"maxLength\",\n    \"contentEncoding\",\n    \"contentMediaType\",\n    \"contentSchema\",\n  ],\n  integer: [\n    \"minimum\",\n    \"maximum\",\n    \"exclusiveMinimum\",\n    \"exclusiveMaximum\",\n    \"multipleOf\",\n  ],\n}\ninferringKeywords.number = inferringKeywords.integer\n\nconst fallbackType = \"string\"\n\nconst inferTypeFromValue = (value) => {\n  if (typeof value === \"undefined\") return null\n  if (value === null) return \"null\"\n  if (Array.isArray(value)) return \"array\"\n  if (Number.isInteger(value)) return \"integer\"\n\n  return typeof value\n}\n\nexport const foldType = (type) => {\n  if (Array.isArray(type) && type.length >= 1) {\n    if (type.includes(\"array\")) {\n      return \"array\"\n    } else if (type.includes(\"object\")) {\n      return \"object\"\n    } else {\n      const pickedType = randomPick(type)\n      if (ALL_TYPES.includes(pickedType)) {\n        return pickedType\n      }\n    }\n  }\n\n  if (ALL_TYPES.includes(type)) {\n    return type\n  }\n\n  return null\n}\n\nexport const inferType = (schema, processedSchemas = new WeakSet()) => {\n  if (!isJSONSchemaObject(schema)) return fallbackType\n  if (processedSchemas.has(schema)) return fallbackType\n\n  processedSchemas.add(schema)\n\n  let { type, const: constant } = schema\n  type = foldType(type)\n\n  // inferring type from inferring keywords\n  if (typeof type !== \"string\") {\n    const inferringTypes = Object.keys(inferringKeywords)\n\n    interrupt: for (let i = 0; i < inferringTypes.length; i += 1) {\n      const inferringType = inferringTypes[i]\n      const inferringTypeKeywords = inferringKeywords[inferringType]\n\n      for (let j = 0; j < inferringTypeKeywords.length; j += 1) {\n        const inferringKeyword = inferringTypeKeywords[j]\n        if (Object.hasOwn(schema, inferringKeyword)) {\n          type = inferringType\n          break interrupt\n        }\n      }\n    }\n  }\n\n  // inferring type from const keyword\n  if (typeof type !== \"string\" && typeof constant !== \"undefined\") {\n    const constType = inferTypeFromValue(constant)\n    type = typeof constType === \"string\" ? constType : type\n  }\n\n  // inferring type from combining schemas\n  if (typeof type !== \"string\") {\n    const combineTypes = (keyword) => {\n      if (Array.isArray(schema[keyword])) {\n        const combinedTypes = schema[keyword].map((subSchema) =>\n          inferType(subSchema, processedSchemas)\n        )\n        return foldType(combinedTypes)\n      }\n      return null\n    }\n\n    const allOf = combineTypes(\"allOf\")\n    const anyOf = combineTypes(\"anyOf\")\n    const oneOf = combineTypes(\"oneOf\")\n    const not = schema.not ? inferType(schema.not, processedSchemas) : null\n\n    if (allOf || anyOf || oneOf || not) {\n      type = foldType([allOf, anyOf, oneOf, not].filter(Boolean))\n    }\n  }\n\n  // inferring type from example\n  if (typeof type !== \"string\" && hasExample(schema)) {\n    const example = extractExample(schema)\n    const exampleType = inferTypeFromValue(example)\n    type = typeof exampleType === \"string\" ? exampleType : type\n  }\n\n  processedSchemas.delete(schema)\n\n  return type || fallbackType\n}\n\nexport const getType = (schema) => {\n  return inferType(schema)\n}\n","/**\n * @prettier\n */\nimport { isBooleanJSONSchema, isJSONSchemaObject } from \"./predicates\"\n\nexport const fromJSONBooleanSchema = (schema) => {\n  if (schema === false) {\n    return { not: {} }\n  }\n\n  return {}\n}\n\nexport const typeCast = (schema) => {\n  if (isBooleanJSONSchema(schema)) {\n    return fromJSONBooleanSchema(schema)\n  }\n  if (!isJSONSchemaObject(schema)) {\n    return {}\n  }\n\n  return schema\n}\n","/**\n * @prettier\n */\nimport { normalizeArray as ensureArray } from \"core/utils\"\nimport { isBooleanJSONSchema, isJSONSchema } from \"./predicates\"\n\nconst merge = (target, source, config = {}) => {\n  if (isBooleanJSONSchema(target) && target === true) return true\n  if (isBooleanJSONSchema(target) && target === false) return false\n  if (isBooleanJSONSchema(source) && source === true) return true\n  if (isBooleanJSONSchema(source) && source === false) return false\n\n  if (!isJSONSchema(target)) return source\n  if (!isJSONSchema(source)) return target\n\n  /**\n   * Merging properties from the source object into the target object\n   * only if they do not already exist in the target object.\n   */\n  const merged = { ...source, ...target }\n\n  // merging the type keyword\n  if (source.type && target.type) {\n    if (Array.isArray(source.type) && typeof source.type === \"string\") {\n      const mergedType = ensureArray(source.type).concat(target.type)\n      merged.type = Array.from(new Set(mergedType))\n    }\n  }\n\n  // merging required keyword\n  if (Array.isArray(source.required) && Array.isArray(target.required)) {\n    merged.required = [...new Set([...target.required, ...source.required])]\n  }\n\n  // merging properties keyword\n  if (source.properties && target.properties) {\n    const allPropertyNames = new Set([\n      ...Object.keys(source.properties),\n      ...Object.keys(target.properties),\n    ])\n\n    merged.properties = {}\n    for (const name of allPropertyNames) {\n      const sourceProperty = source.properties[name] || {}\n      const targetProperty = target.properties[name] || {}\n\n      if (\n        (sourceProperty.readOnly && !config.includeReadOnly) ||\n        (sourceProperty.writeOnly && !config.includeWriteOnly)\n      ) {\n        merged.required = (merged.required || []).filter((p) => p !== name)\n      } else {\n        merged.properties[name] = merge(targetProperty, sourceProperty, config)\n      }\n    }\n  }\n\n  // merging items keyword\n  if (isJSONSchema(source.items) && isJSONSchema(target.items)) {\n    merged.items = merge(target.items, source.items, config)\n  }\n\n  // merging contains keyword\n  if (isJSONSchema(source.contains) && isJSONSchema(target.contains)) {\n    merged.contains = merge(target.contains, source.contains, config)\n  }\n\n  // merging contentSchema keyword\n  if (\n    isJSONSchema(source.contentSchema) &&\n    isJSONSchema(target.contentSchema)\n  ) {\n    merged.contentSchema = merge(\n      target.contentSchema,\n      source.contentSchema,\n      config\n    )\n  }\n\n  return merged\n}\n\nexport default merge\n","/**\n * @prettier\n */\nimport XML from \"xml\"\nimport isEmpty from \"lodash/isEmpty\"\nimport isPlainObject from \"lodash/isPlainObject\"\n\nimport { objectify, normalizeArray } from \"core/utils\"\nimport memoizeN from \"core/utils/memoizeN\"\nimport typeMap from \"./types/index\"\nimport { getType } from \"./core/type\"\nimport { typeCast } from \"./core/utils\"\nimport { hasExample, extractExample } from \"./core/example\"\nimport { pick as randomPick } from \"./core/random\"\nimport merge from \"./core/merge\"\nimport { isBooleanJSONSchema, isJSONSchemaObject } from \"./core/predicates\"\n\nexport const sampleFromSchemaGeneric = (\n  schema,\n  config = {},\n  exampleOverride = undefined,\n  respectXML = false\n) => {\n  // there is nothing to generate schema from\n  if (schema == null && exampleOverride === undefined) return undefined\n\n  if (typeof schema?.toJS === \"function\") schema = schema.toJS()\n  schema = typeCast(schema)\n\n  let usePlainValue = exampleOverride !== undefined || hasExample(schema)\n  // first check if there is the need of combining this schema with others required by allOf\n  const hasOneOf =\n    !usePlainValue && Array.isArray(schema.oneOf) && schema.oneOf.length > 0\n  const hasAnyOf =\n    !usePlainValue && Array.isArray(schema.anyOf) && schema.anyOf.length > 0\n  if (!usePlainValue && (hasOneOf || hasAnyOf)) {\n    const schemaToAdd = typeCast(\n      hasOneOf ? randomPick(schema.oneOf) : randomPick(schema.anyOf)\n    )\n    schema = merge(schema, schemaToAdd, config)\n    if (!schema.xml && schemaToAdd.xml) {\n      schema.xml = schemaToAdd.xml\n    }\n    if (hasExample(schema) && hasExample(schemaToAdd)) {\n      usePlainValue = true\n    }\n  }\n  const _attr = {}\n  let { xml, properties, additionalProperties, items, contains } = schema || {}\n  let type = getType(schema)\n  let { includeReadOnly, includeWriteOnly } = config\n  xml = xml || {}\n  let { name, prefix, namespace } = xml\n  let displayName\n  let res = {}\n\n  if (!Object.hasOwn(schema, \"type\")) {\n    schema.type = type\n  }\n\n  // set xml naming and attributes\n  if (respectXML) {\n    name = name || \"notagname\"\n    // add prefix to name if exists\n    displayName = (prefix ? `${prefix}:` : \"\") + name\n    if (namespace) {\n      //add prefix to namespace if exists\n      let namespacePrefix = prefix ? `xmlns:${prefix}` : \"xmlns\"\n      _attr[namespacePrefix] = namespace\n    }\n  }\n\n  // init xml default response sample obj\n  if (respectXML) {\n    res[displayName] = []\n  }\n\n  // add to result helper init for xml or json\n  const props = objectify(properties)\n  let addPropertyToResult\n  let propertyAddedCounter = 0\n\n  const hasExceededMaxProperties = () =>\n    Number.isInteger(schema.maxProperties) &&\n    schema.maxProperties > 0 &&\n    propertyAddedCounter >= schema.maxProperties\n\n  const requiredPropertiesToAdd = () => {\n    if (!Array.isArray(schema.required) || schema.required.length === 0) {\n      return 0\n    }\n    let addedCount = 0\n    if (respectXML) {\n      schema.required.forEach(\n        (key) => (addedCount += res[key] === undefined ? 0 : 1)\n      )\n    } else {\n      schema.required.forEach((key) => {\n        addedCount +=\n          res[displayName]?.find((x) => x[key] !== undefined) === undefined\n            ? 0\n            : 1\n      })\n    }\n    return schema.required.length - addedCount\n  }\n\n  const isOptionalProperty = (propName) => {\n    if (!Array.isArray(schema.required)) return true\n    if (schema.required.length === 0) return true\n\n    return !schema.required.includes(propName)\n  }\n\n  const canAddProperty = (propName) => {\n    if (!(Number.isInteger(schema.maxProperties) && schema.maxProperties > 0)) {\n      return true\n    }\n    if (hasExceededMaxProperties()) {\n      return false\n    }\n    if (!isOptionalProperty(propName)) {\n      return true\n    }\n    return (\n      schema.maxProperties - propertyAddedCounter - requiredPropertiesToAdd() >\n      0\n    )\n  }\n\n  if (respectXML) {\n    addPropertyToResult = (propName, overrideE = undefined) => {\n      if (schema && props[propName]) {\n        // case it is a xml attribute\n        props[propName].xml = props[propName].xml || {}\n\n        if (props[propName].xml.attribute) {\n          const enumAttrVal = Array.isArray(props[propName].enum)\n            ? randomPick(props[propName].enum)\n            : undefined\n          if (hasExample(props[propName])) {\n            _attr[props[propName].xml.name || propName] = extractExample(\n              props[propName]\n            )\n          } else if (enumAttrVal !== undefined) {\n            _attr[props[propName].xml.name || propName] = enumAttrVal\n          } else {\n            const propSchema = typeCast(props[propName])\n            const propSchemaType = getType(propSchema)\n            const attrName = props[propName].xml.name || propName\n            _attr[attrName] = typeMap[propSchemaType](propSchema)\n          }\n\n          return\n        }\n        props[propName].xml.name = props[propName].xml.name || propName\n      } else if (!props[propName] && additionalProperties !== false) {\n        // case only additionalProperty that is not defined in schema\n        props[propName] = {\n          xml: {\n            name: propName,\n          },\n        }\n      }\n\n      let t = sampleFromSchemaGeneric(\n        props[propName],\n        config,\n        overrideE,\n        respectXML\n      )\n      if (!canAddProperty(propName)) {\n        return\n      }\n\n      propertyAddedCounter++\n      if (Array.isArray(t)) {\n        res[displayName] = res[displayName].concat(t)\n      } else {\n        res[displayName].push(t)\n      }\n    }\n  } else {\n    addPropertyToResult = (propName, overrideE) => {\n      if (!canAddProperty(propName)) {\n        return\n      }\n      if (\n        isPlainObject(schema.discriminator?.mapping) &&\n        schema.discriminator.propertyName === propName &&\n        typeof schema.$$ref === \"string\"\n      ) {\n        for (const pair in schema.discriminator.mapping) {\n          if (schema.$$ref.search(schema.discriminator.mapping[pair]) !== -1) {\n            res[propName] = pair\n            break\n          }\n        }\n      } else {\n        res[propName] = sampleFromSchemaGeneric(\n          props[propName],\n          config,\n          overrideE,\n          respectXML\n        )\n      }\n      propertyAddedCounter++\n    }\n  }\n\n  // check for plain value and if found use it to generate sample from it\n  if (usePlainValue) {\n    let sample\n    if (exampleOverride !== undefined) {\n      sample = exampleOverride\n    } else {\n      sample = extractExample(schema)\n    }\n\n    // if json just return\n    if (!respectXML) {\n      // special case yaml parser can not know about\n      if (typeof sample === \"number\" && type === \"string\") {\n        return `${sample}`\n      }\n      // return if sample does not need any parsing\n      if (typeof sample !== \"string\" || type === \"string\") {\n        return sample\n      }\n      // check if sample is parsable or just a plain string\n      try {\n        return JSON.parse(sample)\n      } catch {\n        // sample is just plain string return it\n        return sample\n      }\n    }\n\n    // generate xml sample recursively for array case\n    if (type === \"array\") {\n      if (!Array.isArray(sample)) {\n        if (typeof sample === \"string\") {\n          return sample\n        }\n        sample = [sample]\n      }\n\n      let itemSamples = []\n\n      if (isJSONSchemaObject(items)) {\n        items.xml = items.xml || xml || {}\n        items.xml.name = items.xml.name || xml.name\n        itemSamples = sample.map((s) =>\n          sampleFromSchemaGeneric(items, config, s, respectXML)\n        )\n      }\n\n      if (isJSONSchemaObject(contains)) {\n        contains.xml = contains.xml || xml || {}\n        contains.xml.name = contains.xml.name || xml.name\n        itemSamples = [\n          sampleFromSchemaGeneric(contains, config, undefined, respectXML),\n          ...itemSamples,\n        ]\n      }\n\n      itemSamples = typeMap.array(schema, { sample: itemSamples })\n      if (xml.wrapped) {\n        res[displayName] = itemSamples\n        if (!isEmpty(_attr)) {\n          res[displayName].push({ _attr: _attr })\n        }\n      } else {\n        res = itemSamples\n      }\n      return res\n    }\n\n    // generate xml sample recursively for object case\n    if (type === \"object\") {\n      // case literal example\n      if (typeof sample === \"string\") {\n        return sample\n      }\n      for (const propName in sample) {\n        if (!Object.hasOwn(sample, propName)) {\n          continue\n        }\n        if (props[propName]?.readOnly && !includeReadOnly) {\n          continue\n        }\n        if (props[propName]?.writeOnly && !includeWriteOnly) {\n          continue\n        }\n        if (props[propName]?.xml?.attribute) {\n          _attr[props[propName].xml.name || propName] = sample[propName]\n          continue\n        }\n        addPropertyToResult(propName, sample[propName])\n      }\n      if (!isEmpty(_attr)) {\n        res[displayName].push({ _attr: _attr })\n      }\n\n      return res\n    }\n\n    res[displayName] = !isEmpty(_attr) ? [{ _attr: _attr }, sample] : sample\n    return res\n  }\n\n  // use schema to generate sample\n  if (type === \"array\") {\n    let sampleArray = []\n\n    if (isJSONSchemaObject(contains)) {\n      if (respectXML) {\n        contains.xml = contains.xml || schema.xml || {}\n        contains.xml.name = contains.xml.name || xml.name\n      }\n\n      if (Array.isArray(contains.anyOf)) {\n        // eslint-disable-next-line no-unused-vars\n        const { anyOf, ...containsWithoutAnyOf } = items\n\n        sampleArray.push(\n          ...contains.anyOf.map((anyOfSchema) =>\n            sampleFromSchemaGeneric(\n              merge(anyOfSchema, containsWithoutAnyOf, config),\n              config,\n              undefined,\n              respectXML\n            )\n          )\n        )\n      } else if (Array.isArray(contains.oneOf)) {\n        // eslint-disable-next-line no-unused-vars\n        const { oneOf, ...containsWithoutOneOf } = items\n\n        sampleArray.push(\n          ...contains.oneOf.map((oneOfSchema) =>\n            sampleFromSchemaGeneric(\n              merge(oneOfSchema, containsWithoutOneOf, config),\n              config,\n              undefined,\n              respectXML\n            )\n          )\n        )\n      } else if (!respectXML || (respectXML && xml.wrapped)) {\n        sampleArray.push(\n          sampleFromSchemaGeneric(contains, config, undefined, respectXML)\n        )\n      } else {\n        return sampleFromSchemaGeneric(contains, config, undefined, respectXML)\n      }\n    }\n\n    if (isJSONSchemaObject(items)) {\n      if (respectXML) {\n        items.xml = items.xml || schema.xml || {}\n        items.xml.name = items.xml.name || xml.name\n      }\n\n      if (Array.isArray(items.anyOf)) {\n        // eslint-disable-next-line no-unused-vars\n        const { anyOf, ...itemsWithoutAnyOf } = items\n\n        sampleArray.push(\n          ...items.anyOf.map((i) =>\n            sampleFromSchemaGeneric(\n              merge(i, itemsWithoutAnyOf, config),\n              config,\n              undefined,\n              respectXML\n            )\n          )\n        )\n      } else if (Array.isArray(items.oneOf)) {\n        // eslint-disable-next-line no-unused-vars\n        const { oneOf, ...itemsWithoutOneOf } = items\n\n        sampleArray.push(\n          ...items.oneOf.map((i) =>\n            sampleFromSchemaGeneric(\n              merge(i, itemsWithoutOneOf, config),\n              config,\n              undefined,\n              respectXML\n            )\n          )\n        )\n      } else if (!respectXML || (respectXML && xml.wrapped)) {\n        sampleArray.push(\n          sampleFromSchemaGeneric(items, config, undefined, respectXML)\n        )\n      } else {\n        return sampleFromSchemaGeneric(items, config, undefined, respectXML)\n      }\n    }\n\n    sampleArray = typeMap.array(schema, { sample: sampleArray })\n    if (respectXML && xml.wrapped) {\n      res[displayName] = sampleArray\n      if (!isEmpty(_attr)) {\n        res[displayName].push({ _attr: _attr })\n      }\n      return res\n    }\n\n    return sampleArray\n  }\n\n  if (type === \"object\") {\n    for (let propName in props) {\n      if (!Object.hasOwn(props, propName)) {\n        continue\n      }\n      if (props[propName]?.deprecated) {\n        continue\n      }\n      if (props[propName]?.readOnly && !includeReadOnly) {\n        continue\n      }\n      if (props[propName]?.writeOnly && !includeWriteOnly) {\n        continue\n      }\n      addPropertyToResult(propName)\n    }\n    if (respectXML && _attr) {\n      res[displayName].push({ _attr: _attr })\n    }\n\n    if (hasExceededMaxProperties()) {\n      return res\n    }\n\n    if (isBooleanJSONSchema(additionalProperties) && additionalProperties) {\n      if (respectXML) {\n        res[displayName].push({ additionalProp: \"Anything can be here\" })\n      } else {\n        res.additionalProp1 = {}\n      }\n      propertyAddedCounter++\n    } else if (isJSONSchemaObject(additionalProperties)) {\n      const additionalProps = additionalProperties\n      const additionalPropSample = sampleFromSchemaGeneric(\n        additionalProps,\n        config,\n        undefined,\n        respectXML\n      )\n\n      if (\n        respectXML &&\n        typeof additionalProps?.xml?.name === \"string\" &&\n        additionalProps?.xml?.name !== \"notagname\"\n      ) {\n        res[displayName].push(additionalPropSample)\n      } else {\n        const toGenerateCount =\n          Number.isInteger(schema.minProperties) &&\n          schema.minProperties > 0 &&\n          propertyAddedCounter < schema.minProperties\n            ? schema.minProperties - propertyAddedCounter\n            : 3\n        for (let i = 1; i <= toGenerateCount; i++) {\n          if (hasExceededMaxProperties()) {\n            return res\n          }\n          if (respectXML) {\n            const temp = {}\n            temp[\"additionalProp\" + i] = additionalPropSample[\"notagname\"]\n            res[displayName].push(temp)\n          } else {\n            res[\"additionalProp\" + i] = additionalPropSample\n          }\n          propertyAddedCounter++\n        }\n      }\n    }\n    return res\n  }\n\n  let value\n  if (typeof schema.const !== \"undefined\") {\n    // display const value\n    value = schema.const\n  } else if (schema && Array.isArray(schema.enum)) {\n    //display enum first value\n    value = randomPick(normalizeArray(schema.enum))\n  } else {\n    // display schema default\n    const contentSample = isJSONSchemaObject(schema.contentSchema)\n      ? sampleFromSchemaGeneric(\n          schema.contentSchema,\n          config,\n          undefined,\n          respectXML\n        )\n      : undefined\n    value = typeMap[type](schema, { sample: contentSample })\n  }\n\n  if (respectXML) {\n    res[displayName] = !isEmpty(_attr) ? [{ _attr: _attr }, value] : value\n    return res\n  }\n\n  return value\n}\n\nexport const createXMLExample = (schema, config, o) => {\n  const json = sampleFromSchemaGeneric(schema, config, o, true)\n  if (!json) {\n    return\n  }\n  if (typeof json === \"string\") {\n    return json\n  }\n  return XML(json, { declaration: true, indent: \"\\t\" })\n}\n\nexport const sampleFromSchema = (schema, config, o) => {\n  return sampleFromSchemaGeneric(schema, config, o, false)\n}\n\nconst resolver = (arg1, arg2, arg3) => [\n  arg1,\n  JSON.stringify(arg2),\n  JSON.stringify(arg3),\n]\n\nexport const memoizedCreateXMLExample = memoizeN(createXMLExample, resolver)\n\nexport const memoizedSampleFromSchema = memoizeN(sampleFromSchema, resolver)\n","/**\n * @prettier\n */\nimport Registry from \"./Registry\"\n\nclass OptionRegistry extends Registry {\n  #defaults = {}\n\n  data = { ...this.#defaults }\n\n  get defaults() {\n    return { ...this.#defaults }\n  }\n}\n\nexport default OptionRegistry\n","/**\n * @prettier\n */\n\nimport OptionRegistry from \"../class/OptionRegistry\"\n\nconst registry = new OptionRegistry()\n\nconst optionAPI = (optionName, optionValue) => {\n  if (typeof optionValue !== \"undefined\") {\n    registry.register(optionName, optionValue)\n  }\n\n  return registry.get(optionName)\n}\n\nexport default optionAPI\n","/**\n * @prettier\n */\nimport some from \"lodash/some\"\n\nconst shouldStringifyTypesConfig = [\n  {\n    when: /json/,\n    shouldStringifyTypes: [\"string\"],\n  },\n]\nconst defaultStringifyTypes = [\"object\"]\nconst makeGetJsonSampleSchema =\n  (getSystem) => (schema, config, contentType, exampleOverride) => {\n    const { fn } = getSystem()\n    const res = fn.jsonSchema202012.memoizedSampleFromSchema(\n      schema,\n      config,\n      exampleOverride\n    )\n    const resType = typeof res\n\n    const typesToStringify = shouldStringifyTypesConfig.reduce(\n      (types, nextConfig) =>\n        nextConfig.when.test(contentType)\n          ? [...types, ...nextConfig.shouldStringifyTypes]\n          : types,\n      defaultStringifyTypes\n    )\n\n    return some(typesToStringify, (x) => x === resType)\n      ? JSON.stringify(res, null, 2)\n      : res\n  }\n\nexport default makeGetJsonSampleSchema\n","/**\n * @prettier\n */\nimport YAML, { JSON_SCHEMA } from \"js-yaml\"\n\nconst makeGetYamlSampleSchema =\n  (getSystem) => (schema, config, contentType, exampleOverride) => {\n    const { fn } = getSystem()\n    const jsonExample = fn.jsonSchema202012.getJsonSampleSchema(\n      schema,\n      config,\n      contentType,\n      exampleOverride\n    )\n    let yamlString\n    try {\n      yamlString = YAML.dump(\n        YAML.load(jsonExample),\n        {\n          lineWidth: -1, // don't generate line folds\n        },\n        { schema: JSON_SCHEMA }\n      )\n      if (yamlString[yamlString.length - 1] === \"\\n\") {\n        yamlString = yamlString.slice(0, yamlString.length - 1)\n      }\n    } catch (e) {\n      console.error(e)\n      return \"error: could not generate yaml example\"\n    }\n    return yamlString.replace(/\\t/g, \"  \")\n  }\n\nexport default makeGetYamlSampleSchema\n","/**\n * @prettier\n */\nconst makeGetXmlSampleSchema =\n  (getSystem) => (schema, config, exampleOverride) => {\n    const { fn } = getSystem()\n\n    if (schema && !schema.xml) {\n      schema.xml = {}\n    }\n    if (schema && !schema.xml.name) {\n      if (\n        !schema.$$ref &&\n        (schema.type ||\n          schema.items ||\n          schema.properties ||\n          schema.additionalProperties)\n      ) {\n        // eslint-disable-next-line quotes\n        return '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n<!-- XML example cannot be generated; root element name is undefined -->'\n      }\n      if (schema.$$ref) {\n        let match = schema.$$ref.match(/\\S*\\/(\\S+)$/)\n        schema.xml.name = match[1]\n      }\n    }\n\n    return fn.jsonSchema202012.memoizedCreateXMLExample(\n      schema,\n      config,\n      exampleOverride\n    )\n  }\n\nexport default makeGetXmlSampleSchema\n","/**\n * @prettier\n */\nconst makeGetSampleSchema =\n  (getSystem) =>\n  (schema, contentType = \"\", config = {}, exampleOverride = undefined) => {\n    const { fn } = getSystem()\n\n    if (typeof schema?.toJS === \"function\") {\n      schema = schema.toJS()\n    }\n    if (typeof exampleOverride?.toJS === \"function\") {\n      exampleOverride = exampleOverride.toJS()\n    }\n\n    if (/xml/.test(contentType)) {\n      return fn.jsonSchema202012.getXmlSampleSchema(\n        schema,\n        config,\n        exampleOverride\n      )\n    }\n    if (/(yaml|yml)/.test(contentType)) {\n      return fn.jsonSchema202012.getYamlSampleSchema(\n        schema,\n        config,\n        contentType,\n        exampleOverride\n      )\n    }\n    return fn.jsonSchema202012.getJsonSampleSchema(\n      schema,\n      config,\n      contentType,\n      exampleOverride\n    )\n  }\n\nexport default makeGetSampleSchema\n","/**\n * @prettier\n */\nimport {\n  sampleFromSchema,\n  sampleFromSchemaGeneric,\n  createXMLExample,\n  memoizedSampleFromSchema,\n  memoizedCreateXMLExample,\n  optionAPI,\n  encoderAPI,\n  mediaTypeAPI,\n  formatAPI,\n  mergeJsonSchema,\n} from \"./fn/index\"\nimport makeGetJsonSampleSchema from \"./fn/get-json-sample-schema\"\nimport makeGetYamlSampleSchema from \"./fn/get-yaml-sample-schema\"\nimport makeGetXmlSampleSchema from \"./fn/get-xml-sample-schema\"\nimport makeGetSampleSchema from \"./fn/get-sample-schema\"\n\nconst JSONSchema202012SamplesPlugin = ({ getSystem }) => {\n  const getJsonSampleSchema = makeGetJsonSampleSchema(getSystem)\n  const getYamlSampleSchema = makeGetYamlSampleSchema(getSystem)\n  const getXmlSampleSchema = makeGetXmlSampleSchema(getSystem)\n  const getSampleSchema = makeGetSampleSchema(getSystem)\n\n  return {\n    fn: {\n      jsonSchema202012: {\n        sampleFromSchema,\n        sampleFromSchemaGeneric,\n        sampleOptionAPI: optionAPI,\n        sampleEncoderAPI: encoderAPI,\n        sampleFormatAPI: formatAPI,\n        sampleMediaTypeAPI: mediaTypeAPI,\n        createXMLExample,\n        memoizedSampleFromSchema,\n        memoizedCreateXMLExample,\n        getJsonSampleSchema,\n        getYamlSampleSchema,\n        getXmlSampleSchema,\n        getSampleSchema,\n        mergeJsonSchema,\n      },\n    },\n  }\n}\n\nexport default JSONSchema202012SamplesPlugin\n","/**\n * @prettier\n */\nimport BasePreset from \"core/presets/base\"\nimport OpenAPI30Plugin from \"core/plugins/oas3\"\nimport OpenAPI31Plugin from \"core/plugins/oas31\"\nimport JSONSchema202012Plugin from \"core/plugins/json-schema-2020-12\"\nimport JSONSchema202012SamplesPlugin from \"core/plugins/json-schema-2020-12-samples\"\n\nexport default function PresetApis() {\n  return [\n    BasePreset,\n    OpenAPI30Plugin,\n    JSONSchema202012Plugin,\n    JSONSchema202012SamplesPlugin,\n    OpenAPI31Plugin,\n  ]\n}\n","/**\n * @prettier\n */\n\nconst InlinePluginFactorization = (options) => () => ({\n  fn: options.fn,\n  components: options.components,\n})\n\nexport default InlinePluginFactorization\n","/**\n * @prettier\n */\nimport deepExtend from \"deep-extend\"\n\nconst systemFactorization = (options) => {\n  const state = deepExtend(\n    {\n      layout: {\n        layout: options.layout,\n        filter: options.filter,\n      },\n      spec: {\n        spec: \"\",\n        url: options.url,\n      },\n      requestSnippets: options.requestSnippets,\n    },\n    options.initialState\n  )\n\n  if (options.initialState) {\n    /**\n     * If the user sets a key as `undefined`, that signals to us that we\n     * should delete the key entirely.\n     * known usage: Swagger-Editor validate plugin tests\n     */\n    for (const [key, value] of Object.entries(options.initialState)) {\n      if (value === undefined) {\n        delete state[key]\n      }\n    }\n  }\n\n  return {\n    system: {\n      configs: options.configs,\n    },\n    plugins: options.presets,\n    state,\n  }\n}\n\nexport default systemFactorization\n","/**\n * @prettier\n */\nimport set from \"lodash/set\"\nimport { parseSearch } from \"core/utils\"\n\n/**\n * Receives options from the query string of the URL where SwaggerUI\n * is being served.\n */\n\nconst optionsFromQuery = () => (options) => {\n  const urlSearchParams = options.queryConfigEnabled ? parseSearch() : {}\n\n  return Object.entries(urlSearchParams).reduce((acc, [key, value]) => {\n    // TODO(oliwia.rogala@smartbear.com): drop support for `config` in the next major release\n    if (key === \"config\") {\n      acc[\"configUrl\"] = value\n    } else if (key === \"urls.primaryName\") {\n      acc[key] = value\n    } else {\n      acc = set(acc, key, value)\n    }\n    return acc\n  }, {})\n}\n\nexport default optionsFromQuery\n","/**\n * @prettier\n * Receives options from a remote URL.\n */\nconst makeDeferred = () => {\n  const deferred = {}\n  deferred.promise = new Promise((resolve, reject) => {\n    deferred.resolve = resolve\n    deferred.reject = reject\n  })\n  return deferred\n}\n\nconst optionsFromURL =\n  ({ url, system }) =>\n  async (options) => {\n    if (!url) return {}\n    if (typeof system.configsActions?.getConfigByUrl !== \"function\") return {}\n    const deferred = makeDeferred()\n    const callback = (fetchedOptions) => {\n      // receives null on remote URL fetch failure\n      deferred.resolve(fetchedOptions)\n    }\n\n    system.configsActions.getConfigByUrl(\n      {\n        url,\n        loadRemoteConfig: true,\n        requestInterceptor: options.requestInterceptor,\n        responseInterceptor: options.responseInterceptor,\n      },\n      callback\n    )\n\n    return deferred.promise\n  }\n\nexport default optionsFromURL\n","/**\n * @prettier\n *\n * Receives options at runtime.\n */\n\n/* eslint-disable no-undef */\nconst optionsFromRuntime = () => () => {\n  const options = {}\n\n  if (globalThis.location) {\n    options.oauth2RedirectUrl = `${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname.substring(0, globalThis.location.pathname.lastIndexOf(\"/\"))}/oauth2-redirect.html`\n  }\n\n  return options\n}\n\nexport default optionsFromRuntime\n","/**\n * @prettier\n */\nimport ApisPreset from \"core/presets/apis\"\n\nconst defaultOptions = Object.freeze({\n  dom_id: null,\n  domNode: null,\n  spec: {},\n  url: \"\",\n  urls: null,\n  configUrl: null,\n  layout: \"BaseLayout\",\n  docExpansion: \"list\",\n  maxDisplayedTags: -1,\n  filter: false,\n  validatorUrl: \"https://validator.swagger.io/validator\",\n  oauth2RedirectUrl: undefined,\n  persistAuthorization: false,\n  configs: {},\n  displayOperationId: false,\n  displayRequestDuration: false,\n  deepLinking: false,\n  tryItOutEnabled: false,\n  requestInterceptor: (request) => {\n    request.curlOptions = []\n    return request\n  },\n  responseInterceptor: (a) => a,\n  showMutatedRequest: true,\n  defaultModelRendering: \"example\",\n  defaultModelExpandDepth: 1,\n  defaultModelsExpandDepth: 1,\n  showExtensions: false,\n  showCommonExtensions: false,\n  withCredentials: false,\n  requestSnippetsEnabled: false,\n  requestSnippets: {\n    generators: {\n      curl_bash: {\n        title: \"cURL (bash)\",\n        syntax: \"bash\",\n      },\n      curl_powershell: {\n        title: \"cURL (PowerShell)\",\n        syntax: \"powershell\",\n      },\n      curl_cmd: {\n        title: \"cURL (CMD)\",\n        syntax: \"bash\",\n      },\n    },\n    defaultExpanded: true,\n    languages: null, // e.g. only show curl bash = [\"curl_bash\"]\n  },\n  supportedSubmitMethods: [\n    \"get\",\n    \"put\",\n    \"post\",\n    \"delete\",\n    \"options\",\n    \"head\",\n    \"patch\",\n    \"trace\",\n  ],\n  queryConfigEnabled: false,\n\n  // Initial set of plugins ( TODO rename this, or refactor - we don't need presets _and_ plugins. Its just there for performance.\n  // Instead, we can compile the first plugin ( it can be a collection of plugins ), then batch the rest.\n  presets: [ApisPreset],\n\n  // Plugins; ( loaded after presets )\n  plugins: [],\n\n  initialState: {},\n\n  // Inline Plugin\n  fn: {},\n  components: {},\n\n  syntaxHighlight: {\n    activated: true,\n    theme: \"agate\",\n  },\n  operationsSorter: null,\n  tagsSorter: null,\n  onComplete: null,\n  modelPropertyMacro: null,\n  parameterMacro: null,\n})\n\nexport default defaultOptions\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/has\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/fp/set\");","/**\n * @prettier\n */\nconst arrayTypeCaster = (value, defaultValue = []) =>\n  Array.isArray(value) ? value : defaultValue\n\nexport default arrayTypeCaster\n","/**\n * @prettier\n */\nconst booleanTypeCaster = (value, defaultValue = false) =>\n  value === true || value === \"true\" || value === 1 || value === \"1\"\n    ? true\n    : value === false || value === \"false\" || value === 0 || value === \"0\"\n      ? false\n      : defaultValue\n\nexport default booleanTypeCaster\n","/**\n * @prettier\n */\nconst domNodeTypeCaster = (value) =>\n  value === null || value === \"null\" ? null : value\n\nexport default domNodeTypeCaster\n","/**\n * @prettier\n */\nimport booleanTypeCaster from \"./boolean\"\n\nconst filterTypeCaster = (value) => {\n  const defaultValue = String(value)\n  return booleanTypeCaster(value, defaultValue)\n}\n\nexport default filterTypeCaster\n","/**\n * @prettier\n */\nconst functionTypeCaster = (value, defaultValue) =>\n  typeof value === \"function\" ? value : defaultValue\n\nexport default functionTypeCaster\n","/**\n * @prettier\n */\nconst nullableArrayTypeCaster = (value) => (Array.isArray(value) ? value : null)\n\nexport default nullableArrayTypeCaster\n","/**\n * @prettier\n */\nconst nullableFunctionTypeCaster = (value) =>\n  typeof value === \"function\" ? value : null\n\nexport default nullableFunctionTypeCaster\n","/**\n * @prettier\n */\nconst nullableStringTypeCaster = (value) =>\n  value === null || value === \"null\" ? null : String(value)\n\nexport default nullableStringTypeCaster\n","/**\n * @prettier\n */\nconst numberTypeCaster = (value, defaultValue = -1) => {\n  const parsedValue = parseInt(value, 10)\n  return Number.isNaN(parsedValue) ? defaultValue : parsedValue\n}\n\nexport default numberTypeCaster\n","/**\n * @prettier\n */\nimport isPlainObject from \"lodash/isPlainObject\"\n\nconst objectTypeCaster = (value, defaultValue = {}) =>\n  isPlainObject(value) ? value : defaultValue\n\nexport default objectTypeCaster\n","/**\n * @prettier\n */\nconst sorterTypeCaster = (value) =>\n  typeof value === \"function\" || typeof value === \"string\" ? value : null\n\nexport default sorterTypeCaster\n","/**\n * @prettier\n */\nconst stringTypeCaster = (value) => String(value)\n\nexport default stringTypeCaster\n","/**\n * @prettier\n */\nimport isPlainObject from \"lodash/isPlainObject\"\n\nconst syntaxHighlightTypeCaster = (value, defaultValue) => {\n  return isPlainObject(value)\n    ? value\n    : value === false || value === \"false\" || value === 0 || value === \"0\"\n      ? { activated: false }\n      : defaultValue\n}\n\nexport default syntaxHighlightTypeCaster\n","/**\n * @prettier\n */\nconst undefinedStringTypeCaster = (value) =>\n  value === undefined || value === \"undefined\" ? undefined : String(value)\n\nexport default undefinedStringTypeCaster\n","/**\n * @prettier\n */\nimport arrayTypeCaster from \"./type-casters/array\"\nimport booleanTypeCaster from \"./type-casters/boolean\"\nimport domNodeTypeCaster from \"./type-casters/dom-node\"\nimport filterTypeCaster from \"./type-casters/filter\"\nimport functionTypeCaster from \"./type-casters/function\"\nimport nullableArrayTypeCaster from \"./type-casters/nullable-array\"\nimport nullableFunctionTypeCaster from \"./type-casters/nullable-function\"\nimport nullableStringTypeCaster from \"./type-casters/nullable-string\"\nimport numberTypeCaster from \"./type-casters/number\"\nimport objectTypeCaster from \"./type-casters/object\"\nimport sorterTypeCaster from \"./type-casters/sorter\"\nimport stringTypeCaster from \"./type-casters/string\"\nimport syntaxHighlightTypeCaster from \"./type-casters/syntax-highlight\"\nimport undefinedStringTypeCaster from \"./type-casters/undefined-string\"\nimport defaultOptions from \"../defaults\"\n\nconst mappings = {\n  components: { typeCaster: objectTypeCaster },\n  configs: { typeCaster: objectTypeCaster },\n  configUrl: { typeCaster: nullableStringTypeCaster },\n  deepLinking: {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.deepLinking,\n  },\n  defaultModelExpandDepth: {\n    typeCaster: numberTypeCaster,\n    defaultValue: defaultOptions.defaultModelExpandDepth,\n  },\n  defaultModelRendering: { typeCaster: stringTypeCaster },\n  defaultModelsExpandDepth: {\n    typeCaster: numberTypeCaster,\n    defaultValue: defaultOptions.defaultModelsExpandDepth,\n  },\n  displayOperationId: {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.displayOperationId,\n  },\n  displayRequestDuration: {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.displayRequestDuration,\n  },\n  docExpansion: { typeCaster: stringTypeCaster },\n  dom_id: { typeCaster: nullableStringTypeCaster },\n  domNode: { typeCaster: domNodeTypeCaster },\n  filter: { typeCaster: filterTypeCaster },\n  fn: { typeCaster: objectTypeCaster },\n  initialState: { typeCaster: objectTypeCaster },\n  layout: { typeCaster: stringTypeCaster },\n  maxDisplayedTags: {\n    typeCaster: numberTypeCaster,\n    defaultValue: defaultOptions.maxDisplayedTags,\n  },\n  modelPropertyMacro: { typeCaster: nullableFunctionTypeCaster },\n  oauth2RedirectUrl: { typeCaster: undefinedStringTypeCaster },\n  onComplete: { typeCaster: nullableFunctionTypeCaster },\n  operationsSorter: {\n    typeCaster: sorterTypeCaster,\n  },\n  paramaterMacro: { typeCaster: nullableFunctionTypeCaster },\n  persistAuthorization: {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.persistAuthorization,\n  },\n  plugins: {\n    typeCaster: arrayTypeCaster,\n    defaultValue: defaultOptions.plugins,\n  },\n  presets: {\n    typeCaster: arrayTypeCaster,\n    defaultValue: defaultOptions.presets,\n  },\n  requestInterceptor: {\n    typeCaster: functionTypeCaster,\n    defaultValue: defaultOptions.requestInterceptor,\n  },\n  requestSnippets: {\n    typeCaster: objectTypeCaster,\n    defaultValue: defaultOptions.requestSnippets,\n  },\n  requestSnippetsEnabled: {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.requestSnippetsEnabled,\n  },\n  responseInterceptor: {\n    typeCaster: functionTypeCaster,\n    defaultValue: defaultOptions.responseInterceptor,\n  },\n  showCommonExtensions: {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.showCommonExtensions,\n  },\n  showExtensions: {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.showExtensions,\n  },\n  showMutatedRequest: {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.showMutatedRequest,\n  },\n  spec: { typeCaster: objectTypeCaster, defaultValue: defaultOptions.spec },\n  supportedSubmitMethods: {\n    typeCaster: arrayTypeCaster,\n    defaultValue: defaultOptions.supportedSubmitMethods,\n  },\n  syntaxHighlight: {\n    typeCaster: syntaxHighlightTypeCaster,\n    defaultValue: defaultOptions.syntaxHighlight,\n  },\n  \"syntaxHighlight.activated\": {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.syntaxHighlight.activated,\n  },\n  \"syntaxHighlight.theme\": { typeCaster: stringTypeCaster },\n  tagsSorter: {\n    typeCaster: sorterTypeCaster,\n  },\n  tryItOutEnabled: {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.tryItOutEnabled,\n  },\n  url: { typeCaster: stringTypeCaster },\n  urls: { typeCaster: nullableArrayTypeCaster },\n  \"urls.primaryName\": { typeCaster: stringTypeCaster },\n  validatorUrl: { typeCaster: nullableStringTypeCaster },\n  withCredentials: {\n    typeCaster: booleanTypeCaster,\n    defaultValue: defaultOptions.withCredentials,\n  },\n}\n\nexport default mappings\n","/**\n * @prettier\n */\nimport has from \"lodash/has\"\nimport get from \"lodash/get\"\nimport set from \"lodash/fp/set\"\n\nimport mappings from \"./mappings\"\n\nconst typeCast = (options) => {\n  return Object.entries(mappings).reduce(\n    (acc, [optionPath, { typeCaster, defaultValue }]) => {\n      if (has(acc, optionPath)) {\n        const uncasted = get(acc, optionPath)\n        const casted = typeCaster(uncasted, defaultValue)\n        acc = set(optionPath, casted, acc)\n      }\n      return acc\n    },\n    { ...options }\n  )\n}\n\nexport default typeCast\n","/**\n * @prettier\n *\n * We're currently stuck with using deep-extend as it handles the following case:\n *\n * deepExtend({ a: 1 }, { a: undefined }) => { a: undefined }\n *\n * NOTE1: lodash.merge & lodash.mergeWith prefers to ignore undefined values\n * NOTE2: special handling of `domNode` option is now required as `deep-extend` will corrupt it (lodash.merge handles it correctly)\n * NOTE3: oauth2RedirectUrl option can be set to undefined. By expecting null instead of undefined, we can't use lodash.merge.\n * NOTE4: urls.primaryName needs to handled in special way, because it's an arbitrary property on Array instance\n *\n * TODO(vladimir.gorej@gmail.com): remove deep-extend in favor of lodash.merge\n */\nimport deepExtend from \"deep-extend\"\nimport typeCast from \"./type-cast\"\n\nconst merge = (target, ...sources) => {\n  let domNode = Symbol.for(\"domNode\")\n  let primaryName = Symbol.for(\"primaryName\")\n  const sourcesWithoutExceptions = []\n\n  for (const source of sources) {\n    const sourceWithoutExceptions = { ...source }\n\n    if (Object.hasOwn(sourceWithoutExceptions, \"domNode\")) {\n      domNode = sourceWithoutExceptions.domNode\n      delete sourceWithoutExceptions.domNode\n    }\n\n    if (Object.hasOwn(sourceWithoutExceptions, \"urls.primaryName\")) {\n      primaryName = sourceWithoutExceptions[\"urls.primaryName\"]\n      delete sourceWithoutExceptions[\"urls.primaryName\"]\n    } else if (\n      Array.isArray(sourceWithoutExceptions.urls) &&\n      Object.hasOwn(sourceWithoutExceptions.urls, \"primaryName\")\n    ) {\n      primaryName = sourceWithoutExceptions.urls.primaryName\n      delete sourceWithoutExceptions.urls.primaryName\n    }\n\n    sourcesWithoutExceptions.push(sourceWithoutExceptions)\n  }\n\n  const merged = deepExtend(target, ...sourcesWithoutExceptions)\n\n  if (domNode !== Symbol.for(\"domNode\")) {\n    merged.domNode = domNode\n  }\n\n  if (primaryName !== Symbol.for(\"primaryName\") && Array.isArray(merged.urls)) {\n    merged.urls.primaryName = primaryName\n  }\n\n  return typeCast(merged)\n}\n\nexport default merge\n","/**\n * @prettier\n */\nimport System from \"./system\"\n// presets\nimport BasePreset from \"./presets/base\"\nimport ApisPreset from \"./presets/apis\"\n// plugins\nimport AuthPlugin from \"./plugins/auth/\"\nimport ConfigsPlugin from \"./plugins/configs\"\nimport DeepLinkingPlugin from \"./plugins/deep-linking\"\nimport ErrPlugin from \"./plugins/err\"\nimport FilterPlugin from \"./plugins/filter\"\nimport IconsPlugin from \"./plugins/icons\"\nimport JSONSchema5Plugin from \"./plugins/json-schema-5\"\nimport JSONSchema202012Plugin from \"./plugins/json-schema-2020-12\"\nimport JSONSchema202012SamplesPlugin from \"./plugins/json-schema-2020-12-samples\"\nimport LayoutPlugin from \"./plugins/layout\"\nimport LogsPlugin from \"./plugins/logs\"\nimport OpenAPI30Plugin from \"./plugins/oas3\"\nimport OpenAPI31Plugin from \"./plugins/oas3\"\nimport OnCompletePlugin from \"./plugins/on-complete\"\nimport RequestSnippetsPlugin from \"./plugins/request-snippets\"\nimport JSONSchema5SamplesPlugin from \"./plugins/json-schema-5-samples\"\nimport SpecPlugin from \"./plugins/spec\"\nimport SwaggerClientPlugin from \"./plugins/swagger-client\"\nimport UtilPlugin from \"./plugins/util\"\nimport ViewPlugin from \"./plugins/view\"\nimport ViewLegacyPlugin from \"core/plugins/view-legacy\"\nimport DownloadUrlPlugin from \"./plugins/download-url\"\nimport SyntaxHighlightingPlugin from \"core/plugins/syntax-highlighting\"\nimport VersionsPlugin from \"core/plugins/versions\"\nimport SafeRenderPlugin from \"./plugins/safe-render\"\n\nimport {\n  defaultOptions,\n  optionsFromQuery,\n  optionsFromURL,\n  optionsFromRuntime,\n  mergeOptions,\n  inlinePluginOptionsFactorization,\n  systemOptionsFactorization,\n  typeCastOptions,\n  typeCastMappings,\n} from \"./config\"\n\nfunction SwaggerUI(userOptions) {\n  const queryOptions = optionsFromQuery()(userOptions)\n  const runtimeOptions = optionsFromRuntime()()\n  const mergedOptions = SwaggerUI.config.merge(\n    {},\n    SwaggerUI.config.defaults,\n    runtimeOptions,\n    userOptions,\n    queryOptions\n  )\n  const systemOptions = systemOptionsFactorization(mergedOptions)\n  const InlinePlugin = inlinePluginOptionsFactorization(mergedOptions)\n\n  const unboundSystem = new System(systemOptions)\n  unboundSystem.register([mergedOptions.plugins, InlinePlugin])\n  const system = unboundSystem.getSystem()\n\n  const persistConfigs = (options) => {\n    unboundSystem.setConfigs(options)\n    system.configsActions.loaded()\n  }\n  const updateSpec = (options) => {\n    if (\n      !queryOptions.url &&\n      typeof options.spec === \"object\" &&\n      Object.keys(options.spec).length > 0\n    ) {\n      system.specActions.updateUrl(\"\")\n      system.specActions.updateLoadingStatus(\"success\")\n      system.specActions.updateSpec(JSON.stringify(options.spec))\n    } else if (\n      typeof system.specActions.download === \"function\" &&\n      options.url &&\n      !options.urls\n    ) {\n      system.specActions.updateUrl(options.url)\n      system.specActions.download(options.url)\n    }\n  }\n  const render = (options) => {\n    if (options.domNode) {\n      system.render(options.domNode, \"App\")\n    } else if (options.dom_id) {\n      const domNode = document.querySelector(options.dom_id)\n      system.render(domNode, \"App\")\n    } else if (options.dom_id === null || options.domNode === null) {\n      /**\n       * noop\n       *\n       * SwaggerUI instance can be created without any rendering involved.\n       * This is also useful for lazy rendering or testing.\n       */\n    } else {\n      console.error(\"Skipped rendering: no `dom_id` or `domNode` was specified\")\n    }\n  }\n\n  // if no configUrl is provided, we can safely persist the configs and render\n  if (!mergedOptions.configUrl) {\n    persistConfigs(mergedOptions)\n    updateSpec(mergedOptions)\n    render(mergedOptions)\n\n    return system\n  }\n\n  // eslint-disable-next-line no-extra-semi\n  ;(async () => {\n    const { configUrl: url } = mergedOptions\n    const urlOptions = await optionsFromURL({ url, system })(mergedOptions)\n    const urlMergedOptions = SwaggerUI.config.merge(\n      {},\n      mergedOptions,\n      urlOptions,\n      queryOptions\n    )\n\n    persistConfigs(urlMergedOptions)\n    if (urlOptions !== null) updateSpec(urlMergedOptions)\n    render(urlMergedOptions)\n  })()\n\n  return system\n}\n\nSwaggerUI.System = System\n\nSwaggerUI.config = {\n  defaults: defaultOptions,\n  merge: mergeOptions,\n  typeCast: typeCastOptions,\n  typeCastMappings,\n}\n\nSwaggerUI.presets = {\n  base: BasePreset,\n  apis: ApisPreset,\n}\n\nSwaggerUI.plugins = {\n  Auth: AuthPlugin,\n  Configs: ConfigsPlugin,\n  DeepLining: DeepLinkingPlugin,\n  Err: ErrPlugin,\n  Filter: FilterPlugin,\n  Icons: IconsPlugin,\n  JSONSchema5: JSONSchema5Plugin,\n  JSONSchema5Samples: JSONSchema5SamplesPlugin,\n  JSONSchema202012: JSONSchema202012Plugin,\n  JSONSchema202012Samples: JSONSchema202012SamplesPlugin,\n  Layout: LayoutPlugin,\n  Logs: LogsPlugin,\n  OpenAPI30: OpenAPI30Plugin,\n  OpenAPI31: OpenAPI31Plugin,\n  OnComplete: OnCompletePlugin,\n  RequestSnippets: RequestSnippetsPlugin,\n  Spec: SpecPlugin,\n  SwaggerClient: SwaggerClientPlugin,\n  Util: UtilPlugin,\n  View: ViewPlugin,\n  ViewLegacy: ViewLegacyPlugin,\n  DownloadUrl: DownloadUrlPlugin,\n  SyntaxHighlighting: SyntaxHighlightingPlugin,\n  Versions: VersionsPlugin,\n  SafeRender: SafeRenderPlugin,\n}\n\nexport default SwaggerUI\n","import SwaggerUI from \"./core\"\n\nexport default SwaggerUI\n"],"names":["webpackUniversalModuleDefinition","root","factory","exports","module","define","amd","this","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","NEW_THROWN_ERR","NEW_THROWN_ERR_BATCH","NEW_SPEC_ERR","NEW_SPEC_ERR_BATCH","NEW_AUTH_ERR","CLEAR","CLEAR_BY","newThrownErr","err","type","payload","serializeError","newThrownErrBatch","errors","newSpecErr","newSpecErrBatch","errArray","newAuthErr","clear","filter","clearBy","makeWindow","win","location","history","open","close","File","FormData","window","e","console","error","swagger2SchemaKeys","Im","of","getParameterSchema","parameter","isOAS3","isMap","schema","parameterContentMediaType","v","k","includes","keySeq","first","getIn","DEFAULT_RESPONSE_KEY","isImmutable","maybe","isIterable","objectify","thing","isObject","toJS","fromJSOrdered","js","Array","isArray","map","toList","isFunction","entries","objWithHashedKeys","createObjWithHashedKeys","fdObj","newObj","hashIdx","trackKeys","pair","containsMultiple","length","normalizeArray","arr","isFn","fn","isFunc","memoize","_memoize","objMap","keys","reduce","objReduce","res","assign","systemThunkMiddleware","getSystem","dispatch","getState","next","action","validateValueBySchema","requiredByParam","bypassRequiredCheck","nullable","requiredBySchema","maximum","minimum","format","maxLength","minLength","uniqueItems","maxItems","minItems","pattern","schemaRequiresValue","hasValue","requiresFurtherValidation","isValidNullable","push","stringCheck","arrayCheck","arrayListCheck","isList","count","passedAnyCheck","some","objectVal","JSON","parse","has","forEach","propKey","val","errs","validatePattern","rxPattern","RegExp","test","validateMinItems","min","validateMaxItems","max","needRemove","errorPerItem","validateUniqueItems","list","fromJS","set","toSet","size","errorsPerIndex","Set","item","i","equals","add","index","toArray","validateMaxLength","validateMinLength","validateMaximum","validateMinimum","validateDateTime","isNaN","Date","validateGuid","toString","toLowerCase","validateString","validateBoolean","validateNumber","validateInteger","validateFile","btoa","str","buffer","Buffer","from","sorters","operationsSorter","alpha","b","localeCompare","method","tagsSorter","buildFormData","data","formArr","name","encodeURIComponent","replace","join","shallowEqualKeys","find","eq","sanitizeUrl","url","braintreeSanitizeUrl","requiresValidationURL","uri","indexOf","createDeepLinkPath","String","trim","escapeDeepLinkPath","cssEscape","getExtensions","defObj","getCommonExtensions","deeplyStripKey","input","keyToStrip","predicate","stringify","paramToIdentifier","param","returnAll","allowHashes","Error","paramName","paramIn","generatedIdentifiers","hashCode","paramToValue","paramValues","id","b64toB64UrlEncoded","isEmptyValue","isEmpty","idFn","Store","constructor","opts","deepExtend","state","plugins","system","configs","components","rootInjects","statePlugins","boundSystem","toolbox","_getSystem","bind","store","configureStore","rootReducer","initialState","createStoreWithMiddleware","middlwares","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","buildSystem","register","getStore","rebuild","pluginSystem","combinePlugins","systemExtend","callAfterLoad","buildReducer","getRootInjects","getWrappedAndBoundActions","getWrappedAndBoundSelectors","getStateThunks","getFn","getConfigs","rebuildReducer","getComponents","_getConfigs","React","setConfigs","replaceReducer","states","allReducers","reducerSystem","reducers","makeReducer","reducerObj","Map","redFn","wrapWithTryCatch","combineReducers","getType","upName","toUpperCase","slice","namespace","getSelectors","getActions","actions","actionName","getBoundActions","actionGroupName","wrappers","wrapActions","wrap","acc","newAction","args","TypeError","Function","getBoundSelectors","selectors","selectorGroupName","stateName","wrapSelectors","selector","selectorName","wrappedSelector","getStates","component","ori","wrapper","apply","process","creator","actionCreator","bindActionCreators","getMapStateToProps","getMapDispatchToProps","extras","merge","plugin","hasLoaded","calledSomething","afterLoad","dest","src","wrapComponents","wrapperFn","concat","namespaceObj","logErrors","SHOW_AUTH_POPUP","AUTHORIZE","LOGOUT","PRE_AUTHORIZE_OAUTH2","AUTHORIZE_OAUTH2","VALIDATE","CONFIGURE_AUTH","RESTORE_AUTHORIZATION","showDefinitions","authorize","authorizeWithPersistOption","authActions","persistAuthorizationIfNeeded","logout","logoutWithPersistOption","preAuthorizeImplicit","errActions","auth","token","isValid","flow","swaggerUIRedirectOauth2","authId","source","level","message","authorizeOauth2WithPersistOption","authorizeOauth2","authorizePassword","username","password","passwordType","clientId","clientSecret","form","grant_type","scope","scopes","headers","setClientIdAndSecret","target","client_id","client_secret","Authorization","warn","authorizeRequest","body","query","authorizeApplication","authorizeAccessCodeWithFormParams","redirectUrl","codeVerifier","code","redirect_uri","code_verifier","authorizeAccessCodeWithBasicAuthentication","oas3Selectors","specSelectors","authSelectors","parsedUrl","additionalQueryStringParams","finalServerUrl","serverEffectiveValue","selectedServer","parseUrl","fetchUrl","_headers","fetch","requestInterceptor","responseInterceptor","then","response","parseError","ok","statusText","catch","errData","jsonResponse","error_description","jsonError","configureAuth","restoreAuthorization","persistAuthorization","authorized","localStorage","setItem","authPopup","securities","entrySeq","security","setIn","header","parsedAuth","result","withMutations","delete","shownDefinitions","createSelector","definitionsToAuthorize","definitions","securityDefinitions","List","getDefinitionsByNames","valueSeq","names","allowedScopes","contains","definitionsForRequirements","allDefinitions","sec","props","securityScopes","definitionScopes","isAuthorized","execute","oriAction","path","operation","specSecurity","loaded","getItem","values","isApiKeyAuth","isInCookie","document","cookie","authorizedName","cookieName","LockAuthIcon","mapStateToProps","ownProps","omit","render","getComponent","LockIcon","UnlockAuthIcon","UnlockIcon","initOAuth","preauthorizeApiKey","preauthorizeBasic","LockAuthOperationIcon","UnlockAuthOperationIcon","wrappedAuthorizeAction","wrappedLogoutAction","spec","specJson","definitionBase","UPDATE_CONFIGS","TOGGLE_CONFIGS","update","configName","configValue","toggle","downloadConfig","req","getConfigByUrl","cb","specActions","configsActions","status","updateLoadingStatus","updateUrl","parseConfig","yaml","YAML","text","oriVal","configsPlugin","setHash","pushState","hash","SCROLL_TO","CLEAR_SCROLL_TO","getScrollParent","element","includeHidden","LAST_RESORT","documentElement","style","getComputedStyle","excludeStaticParent","position","overflowRegex","parent","parentElement","overflow","overflowY","overflowX","layout","scrollToElement","ref","container","zenscroll","to","scrollTo","clearScrollTo","readyToScroll","isShownKey","scrollToKey","layoutSelectors","getScrollToKey","layoutActions","parseDeepLinkHash","rawHash","deepLinking","hashArray","split","isShownKeyFromUrlHashArray","tagId","maybeOperationId","tagIsShownKey","show","urlHashArray","tag","operationId","urlHashArrayFromIsShownKey","tokenArray","shown","assetName","Wrapper","Ori","OperationWrapper","onLoad","toObject","OperationTagWrapper","decodeURIComponent","OperationTag","transform","seekStr","types","makeNewMessage","p","c","jsSpec","errorTransformers","NotOfType","ParameterOneOf","transformErrors","inputs","transformedErrors","transformer","DEFAULT_ERROR_STRUCTURE","line","allErrors","lastError","all","last","sortBy","newErrors","every","errValue","filterValue","taggedOps","phrase","tagObj","opsFilter","ArrowUp","className","width","height","rest","_extends","xmlns","viewBox","focusable","ArrowDown","Arrow","Close","Copy","fill","fillRule","Lock","Unlock","IconsPlugin","ArrowUpIcon","ArrowDownIcon","ArrowIcon","CloseIcon","CopyIcon","UPDATE_LAYOUT","UPDATE_FILTER","UPDATE_MODE","SHOW","updateLayout","updateFilter","changeMode","mode","isShown","thingToShow","current","currentFilter","def","whatMode","showSummary","taggedOperations","oriSelector","maxDisplayedTags","levels","getLevel","logLevel","logLevelInt","log","info","debug","engaged","updateSpec","updateJsonSpec","onComplete","setTimeout","extractKey","escapeShell","escapeCMD","escapePowershell","curlify","request","escape","newLine","ext","isMultipartFormDataRequest","curlified","addWords","addWordsWithoutLeadingSpace","addNewLine","addIndent","repeat","curlOptions","h","extractedKey","valueOf","reqBody","getStringBodyOfMap","curlifyToJoin","requestSnippetGenerator_curl_powershell","requestSnippetGenerator_curl_bash","requestSnippetGenerator_curl_cmd","getGenerators","languageKeys","generators","getSnippetGenerators","gen","genFn","getGenFn","getActiveLanguage","getDefaultExpanded","cursor","lineHeight","display","backgroundColor","paddingBottom","paddingTop","border","borderRadius","boxShadow","borderBottom","activeStyle","marginTop","marginRight","marginLeft","zIndex","RequestSnippets","requestSnippetsSelectors","rootRef","useRef","SyntaxHighlighter","activeLanguage","setActiveLanguage","useState","isExpanded","setIsExpanded","snippetGenerators","activeGenerator","snippet","handleSetIsExpanded","handleGetBtnStyle","handlePreventYScrollingBeyondElement","deltaY","scrollHeight","contentHeight","offsetHeight","visibleHeight","scrollTop","preventDefault","useEffect","childNodes","node","nodeType","classList","addEventListener","passive","removeEventListener","justifyContent","alignItems","marginBottom","onClick","background","title","paddingLeft","paddingRight","classNames","handleGenChange","color","CopyToClipboard","language","renderPlainText","children","PlainTextViewer","requestSnippets","ModelCollapse","Component","static","collapsedContent","expanded","onToggle","hideSelfOnExpand","specPath","context","super","defaultProps","componentDidMount","modelName","UNSAFE_componentWillReceiveProps","nextProps","setState","toggleCollapsed","classes","useTabs","initialTab","isExecute","example","tabs","useMemo","model","tab","prevIsExecute","usePrevious","activeTab","setActiveTab","handleTabChange","useCallback","dataset","onTabChange","ModelExample","includeWriteOnly","includeReadOnly","defaultModelRendering","defaultModelExpandDepth","ModelWrapper","HighlightCode","exampleTabId","randomBytes","examplePanelId","modelTabId","modelPanelId","role","cx","active","inactive","tabIndex","expandDepth","fullPath","Model","depth","_circle","arguments","t","preserveAspectRatio","backgroundImage","backgroundPosition","backgroundRepeat","cy","stroke","strokeDasharray","strokeWidth","attributeName","begin","calcMode","dur","keyTimes","repeatCount","decodeRefName","unescaped","ImmutablePureComponent","ImPropTypes","isRequired","PropTypes","displayName","isRef","required","getModelName","getRefSchema","findDefinition","ObjectModel","ArrayModel","PrimitiveModel","$$ref","$ref","refName","refSchema","mergeDeep","RollingLoadSVG","deprecated","Models","getSchemaBasePath","getCollapsedContent","handleToggle","requestResolvedSubtree","onLoadModels","onLoadModel","getAttribute","docExpansion","defaultModelsExpandDepth","specPathBase","showModels","Collapse","JumpToPath","isOpened","schemaValue","specResolvedSubtree","rawSchemaValue","rawSchema","content","EnumModel","otherProps","showExtensions","description","properties","additionalProperties","requiredProperties","infoProperties","externalDocsUrl","externalDocsDescription","Markdown","Property","Link","JumpToPathSection","allOf","anyOf","oneOf","not","titleEl","href","isDeprecated","normalizedValue","propVal","propClass","items","Primitive","xml","enumArray","extensions","_","filterNot","Schemes","UNSAFE_componentWillMount","schemes","setScheme","currentScheme","onChange","htmlFor","scheme","SchemesContainer","operationScheme","JsonSchemaDefaultProps","noop","keyName","JsonSchemaForm","dispatchInitialValue","disabled","getComponentSilently","failSilently","Comp","JsonSchema_string","files","onEnumChange","enumValue","schemaIn","Select","allowedValues","allowEmptyValue","isDisabled","Input","DebounceInput","debounceTimeout","placeholder","JsonSchema_array","PureComponent","valueOrEmptyList","onItemChange","itemVal","removeItem","addItem","newValue","getSampleSchema","arrayErrors","needsRemoveError","shouldRenderValue","schemaItemsEnum","schemaItemsType","schemaItemsFormat","schemaItemsSchema","ArrayItemsComponent","isArrayItemText","isArrayItemFile","multiple","Button","itemErrors","JsonSchemaArrayItemFile","JsonSchemaArrayItemText","onFileChange","JsonSchema_boolean","booleanValue","stringifyObjectErrors","meta","stringError","currentError","part","JsonSchema_object","handleOnChange","inputValue","TextArea","invalid","JSONSchema5Plugin","modelExample","JSONSchemaComponents","shallowArrayEquals","Cache","foundKey","findIndex","memoizeN","resolver","OriginalCache","memoized","primitives","generateStringFromRegex","RandExp","string_email","string_date-time","toISOString","string_date","substring","string_uuid","string_hostname","string_ipv4","string_ipv6","number","number_float","integer","default","primitive","sanitizeRef","objectContracts","arrayContracts","numberContracts","stringContracts","mergeJsonSchema","config","merged","setIfNotDefinedInTarget","propName","readOnly","writeOnly","sampleFromSchemaGeneric","exampleOverride","respectXML","usePlainValue","hasOneOf","hasAnyOf","schemaToAdd","_attr","prefix","schemaHasAny","enum","handleMinMaxItems","sampleArray","addPropertyToResult","propertyAddedCounter","hasExceededMaxProperties","maxProperties","canAddProperty","isOptionalProperty","requiredPropertiesToAdd","addedCount","x","overrideE","attribute","enumAttrVal","attrExample","attrDefault","discriminator","mapping","propertyName","search","sample","itemSchema","itemSamples","s","wrapped","additionalProp","additionalProp1","additionalProps","additionalPropSample","toGenerateCount","minProperties","temp","exclusiveMinimum","exclusiveMaximum","inferSchema","createXMLExample","json","XML","declaration","indent","sampleFromSchema","arg1","arg2","arg3","memoizedCreateXMLExample","memoizedSampleFromSchema","shouldStringifyTypesConfig","when","shouldStringifyTypes","defaultStringifyTypes","contentType","resType","typesToStringify","nextConfig","jsonExample","getJsonSampleSchema","yamlString","lineWidth","JSON_SCHEMA","match","getXmlSampleSchema","getYamlSampleSchema","JSONSchema5SamplesPlugin","makeGetJsonSampleSchema","makeGetYamlSampleSchema","makeGetXmlSampleSchema","makeGetSampleSchema","jsonSchema5","OPERATION_METHODS","specStr","specSource","specJS","specResolved","mergerFn","oldVal","newVal","OrderedMap","mergeWith","specJsonWithResolvedSubtrees","returnSelfOrNewMap","externalDocs","version","semver","exec","paths","validOperationMethods","constant","operations","pathName","consumes","produces","resolvedRes","unresolvedRes","basePath","host","operationsWithRootInherited","ops","op","tags","tagDetails","operationsWithTags","taggedMap","ar","tagA","tagB","sortFn","sort","responses","requests","mutatedRequests","responseFor","requestFor","mutatedRequestFor","allowTryItOutFor","parameterWithMetaByIdentity","pathMethod","opParams","metaParams","currentParam","inNameKeyedMeta","hashKeyedMeta","curr","parameterInclusionSettingFor","paramKey","parameterWithMeta","operationWithMeta","mergedParams","getParameter","inType","hasHost","parameterValues","isXml","parametersIncludeIn","parameters","inValue","parametersIncludeType","typeValue","contentTypeValues","producesValue","currentProducesFor","requestContentType","responseContentType","currentProducesValue","firstProducesArrayItem","producesOptionsFor","operationProduces","pathItemProduces","globalProduces","consumesOptionsFor","operationConsumes","pathItemConsumes","globalConsumes","matchResult","urlScheme","canExecuteScheme","validationErrors","getErrorsWithPaths","getNestedErrorsWithPaths","currPath","formatError","validateBeforeExecute","getOAS3RequiredRequestBodyContentType","requiredObj","requestBody","isMediaTypeSchemaPropertiesEqual","currentMediaType","targetMediaType","requestBodyContent","currentMediaTypeSchemaProperties","targetMediaTypeSchemaProperties","UPDATE_SPEC","UPDATE_URL","UPDATE_JSON","UPDATE_PARAM","UPDATE_EMPTY_PARAM_INCLUSION","VALIDATE_PARAMS","SET_RESPONSE","SET_REQUEST","SET_MUTATED_REQUEST","LOG_REQUEST","CLEAR_RESPONSE","CLEAR_REQUEST","CLEAR_VALIDATE_PARAMS","UPDATE_OPERATION_META_VALUE","UPDATE_RESOLVED","UPDATE_RESOLVED_SUBTREE","SET_SCHEME","toStr","isString","cleanSpec","updateResolved","parseToJson","reason","mark","hasWarnedAboutResolveSpecDeprecation","resolveSpec","resolve","AST","modelPropertyMacro","parameterMacro","getLineNumberForPath","baseDoc","URL","baseURI","preparedErrors","requestBatch","debResolveSubtrees","debounce","systemPartitionedBatches","async","systemRequestBatch","resolveSubtree","errSelectors","batchResult","prev","resultMap","specWithCurrentSubtrees","Promise","oidcScheme","openIdConnectUrl","openIdConnectData","assocPath","ImmutableMap","updateResolvedSubtree","batchedPath","batchedSystem","changeParam","changeParamByIdentity","invalidateResolvedSubtreeCache","validateParams","updateEmptyParamInclusion","includeEmptyValue","clearValidateParams","changeConsumesValue","changeProducesValue","setResponse","setRequest","setMutatedRequest","logRequest","executeRequest","paramValue","contextUrl","opId","server","namespaceVariables","serverVariables","globalVariables","requestBodyValue","requestBodyInclusionSetting","parsedRequest","buildRequest","mutatedRequest","parsedMutatedRequest","startTime","now","duration","clearResponse","clearRequest","valueKey","updateIn","paramMeta","isEmptyValueIncluded","validateParam","paramRequired","paramDetails","statusCode","newState","Blob","operationPath","metaPath","deleteIn","pathItems","SpecPlugin","withCredentials","makeHttp","Http","preFetch","postFetch","makeResolve","strategies","openApi31ApiDOMResolveStrategy","openApi30ResolveStrategy","openApi2ResolveStrategy","genericResolveStrategy","options","freshConfigs","defaultOptions","makeResolveSubtree","serializeRes","withSystem","WrappedComponent","WithSystem","getDisplayName","withRoot","reduxStore","WithRoot","Provider","withConnect","identity","connect","customMapStateToProps","handleProps","oldProps","withMappedContainer","memGetComponent","componentName","WithMappedContainer","cleanProps","domNode","App","createRoot","ReactDOM","viewPlugin","memoizeForGetComponent","memMakeMappedContainer","memoizeForWithMappedContainer","makeMappedContainer","ViewLegacyPlugin","reactMajorVersion","parseInt","downloadUrlPlugin","download","checkPossibleFailReasons","specUrl","createElement","protocol","origin","loadSpec","credentials","Accept","enums","loadingStatus","spec_update_loading_status","http","bash","powershell","javascript","styles","agate","arta","monokai","nord","obsidian","tomorrowNight","idea","defaultStyle","syntaxHighlighting","theme","syntaxHighlight","ReactSyntaxHighlighter","fileName","downloadable","canCopy","handleDownload","saveAs","SyntaxHighlighterWrapper","Original","canSyntaxHighlight","activated","SyntaxHighlightingPlugin1","SyntaxHighlightingPlugin2","SyntaxHighlightingPlugin","GIT_DIRTY","GIT_COMMIT","PACKAGE_VERSION","BUILD_TIME","buildInfo","versions","swaggerUI","gitRevision","gitDirty","buildTimestamp","VersionsPlugin","componentDidCatch","withErrorBoundary","ErrorBoundary","targetName","WithErrorBoundary","isClassComponent","isReactComponent","Fallback","getDerivedStateFromError","hasError","errorInfo","FallbackComponent","safeRenderPlugin","componentList","fullOverride","mergedComponentList","zipObject","wrapFactory","getLayout","layoutName","Layout","AuthorizationPopup","Auths","AuthorizeBtn","showPopup","AuthorizeBtnContainer","authorizableDefinitions","AuthorizeOperationBtn","stopPropagation","onAuthChange","submitAuth","logoutClick","auths","AuthItem","Oauth2","authorizedAuth","nonOauthDefinitions","oauthDefinitions","onSubmit","ApiKeyAuth","BasicAuth","authEl","AuthError","getValue","Row","Col","autoFocus","autoComplete","Example","showValue","ExamplesSelect","examples","onSelect","currentExampleKey","showLabels","_onSelect","isSyntheticChange","_onDomSelect","selectedOptions","getCurrentExample","currentExamplePerProps","firstExamplesKey","firstExample","firstExampleKey","keyOf","isValueModified","isModifiedValueAvailable","exampleName","stringifyUnlessList","ExamplesSelectValueRetainer","userHasEditedBody","currentNamespace","setRetainRequestBodyValueFlag","updateValue","valueFromExample","_getCurrentExampleValue","lastUserEditedValue","currentUserInputValue","lastDownstreamValue","isModifiedValueSelected","componentWillUnmount","_getStateForCurrentNamespace","_setStateForCurrentNamespace","_setStateForNamespace","newStateForNamespace","_isCurrentUserInputSameAsExampleValue","_getValueForExample","exampleKey","currentKey","_onExamplesSelect","otherArgs","valueFromCurrentExample","examplesMatchingNewValue","authConfigs","currentServer","oauth2RedirectUrl","scopesArray","scopeSeparator","realm","usePkceWithAuthorizationCodeGrant","generateCodeVerifier","codeChallenge","createCodeChallenge","shaJs","digest","authorizationUrl","sanitizedAuthorizationUrl","callback","useBasicAuthenticationWithAccessCodeGrant","errCb","appName","oauth2Authorize","onScopeChange","checked","newScopes","onInputChange","selectScopes","InitializedInput","oidcUrl","AUTH_FLOW_IMPLICIT","AUTH_FLOW_PASSWORD","AUTH_FLOW_ACCESS_CODE","AUTH_FLOW_APPLICATION","isPkceCodeGrant","flowToDisplay","tablet","desktop","initialValue","Clear","Headers","Duration","LiveResponse","shouldComponentUpdate","displayRequestDuration","showMutatedRequest","requestSnippetsEnabled","curlRequest","notDocumented","isError","headersKeys","ResponseBody","returnObject","joinedHeaders","hasHeaders","Curl","OnlineValidatorBadge","validatorUrl","getDefinitionUrl","sanitizedValidatorUrl","rel","ValidatorImage","alt","img","Image","onload","onerror","Operations","renderOperationTag","OperationContainer","isAbsoluteUrl","buildBaseUrl","addProtocol","safeBuildUrl","buildUrl","baseUrl","DeepLink","tagExternalDocsUrl","tagDescription","tagExternalDocsDescription","rawTagExternalDocsUrl","showTag","enabled","Operation","summary","toggleShown","onTryoutClick","onResetClick","onCancelClick","onExecute","oas3Actions","operationProps","allowTryItOut","tryItOutEnabled","executeInProgress","getList","iterable","Responses","Parameters","Execute","OperationServers","OperationExt","OperationSummary","onChangeKey","operationServers","pathServers","getSelectedServer","setSelectedServer","setServerVariableValue","getServerVariable","serverVariableValue","getEffectiveServerValue","tryItOutResponse","displayOperationId","nextState","supportedSubmitMethods","isDeepLinkingEnabled","jumpToKey","resolvedSubtree","getResolvedSubtree","defaultRequestBodyValue","selectDefaultRequestBodyValue","setRequestBodyValue","unresolvedOp","originalOperationId","resolvedSummary","OperationSummaryMethod","OperationSummaryPath","CopyToClipboardBtn","hasSecurity","securityIsOptional","allowAnonymous","textToCopy","applicableDefinitions","pathParts","splice","OperationExtRow","xKey","xVal","xNormalizedValue","createHtmlReadyId","replacement","onChangeProducesWrapper","onResponseContentTypeChange","controlsAcceptHeader","setResponseContentType","defaultCode","defaultStatusCode","codes","ContentType","Response","acceptControllingResponse","getAcceptControllingResponse","isOrderedMap","suitable2xxResponse","startsWith","defaultResponse","suitableDefaultResponse","regionId","controlId","ariaControls","ariaLabel","contentTypes","isDefault","onContentTypeChange","activeExamplesKey","activeExamplesMember","getKnownSyntaxHighlighterLanguage","canJsonParse","_onContentTypeChange","getTargetExamplesKey","activeContentType","links","ResponseExtension","OperationLink","specPathWithPossibleSchema","activeMediaType","examplesForMediaType","oas3SchemaForContentType","mediaTypeExample","sampleSchema","shouldOverrideSchemaExample","sampleGenConfig","targetExamplesKey","getMediaTypeExample","targetExample","oldOASMediaTypeExample","getExampleComponent","sampleResponse","Seq","setActiveExamplesMember","contextType","contextName","omitValue","toSeq","link","parsedContent","updateParsedContent","prevContent","reader","FileReader","readAsText","componentDidUpdate","prevProps","downloadName","getTime","bodyEl","blob","createObjectURL","substr","lastIndexOf","disposition","responseFilename","extractFileNameFromContentDispositionHeader","regex","navigator","msSaveOrOpenBlob","formatXml","textNodesOnSameLine","indentor","toLower","controls","callbackVisible","parametersVisible","onChangeConsumesWrapper","toggleTab","onChangeMediaType","hasUserEditedBody","shouldRetainRequestBodyValue","setRequestContentType","initRequestBodyValidateError","ParameterRow","TryItOutButton","Callbacks","RequestBody","groupedParametersArr","rawParam","onChangeConsumes","callbacks","f","requestBodyErrors","updateActiveExamplesKey","lastValue","usableValue","onChangeIncludeEmpty","setRequestBodyInclusion","ParameterExt","ParameterIncludeEmptyDefaultProps","isIncludedOptions","ParameterIncludeEmpty","shouldDispatchInit","defaultValue","onCheckboxChange","isIncluded","setDefaultValue","onChangeWrapper","numberToString","valueForUpstream","_onExampleSelect","getParamKey","paramWithMeta","parameterMediaType","generatedSampleValue","isSwagger2","composeJsonSchema","showCommonExtensions","ParamBody","bodyParam","consumesValue","paramItems","paramEnum","paramDefaultValue","paramExample","itemType","isFormData","isFormDataSupported","commonExt","isDisplayParamEnum","defaultToFirstExample","handleValidateParameters","handleValidateRequestBody","missingBodyValue","missingRequiredKeys","clearRequestBodyValidateError","oas3RequiredRequestBodyContentType","oas3RequestBodyValue","oas3ValidateBeforeExecuteSuccess","oas3RequestContentType","setRequestBodyValidateError","validateShallowRequired","missingKey","handleValidationResultPass","handleValidationResultFail","handleValidationResult","isPass","paramsResult","requestBodyResult","schemaExample","Errors","editorActions","jumpToLine","allErrorsToDisplay","isVisible","sortedJSErrors","toggleVisibility","animated","ThrownErrorItem","SpecErrorItem","errorLine","toTitleCase","locationMessage","xclass","Container","fullscreen","full","containerClass","DEVICES","hide","keepContents","mobile","large","classesAr","device","deviceClass","option","selected","NoMargin","renderNotAnimated","Overview","setTagShown","_setTagShown","showTagId","showOp","toggleShow","showOpIdPrefix","showOpId","_onClick","inputRef","InfoBasePath","InfoUrl","Info","termsOfServiceUrl","contactData","licenseData","VersionStamp","OpenAPIVersion","License","Contact","oasVersion","license","InfoContainer","email","Footer","FilterContainer","onFilterChange","isLoading","isFailed","NOOP","isEditBox","updateValues","isJson","_onChange","toggleIsEditBox","defaultProp","curl","showReset","VersionPragmaFilter","alsoShow","bypass","SvgAssets","xmlnsXlink","DomPurify","setAttribute","useUnsafeMarkdown","md","Remarkable","html","typographer","breaks","linkTarget","use","linkify","core","ruler","disable","sanitized","sanitizer","dangerouslySetInnerHTML","__html","ALLOW_DATA_ATTR","FORBID_ATTR","hasWarnedAboutDeprecation","ADD_ATTR","FORBID_TAGS","BaseLayout","Webhooks","ServersContainer","isOAS31","isSpecEmpty","loadingMessage","lastErr","lastErrMsg","servers","hasServers","hasSchemes","hasSecurityDefinitions","CoreComponentsPlugin","authorizationPopup","authorizeBtn","authorizeOperationBtn","authError","oauth2","apiKeyAuth","basicAuth","liveResponse","onlineValidatorBadge","responseBody","parameterRow","overview","footer","FormComponentsPlugin","LayoutUtils","BasePreset","ConfigsPlugin","UtilPlugin","LogsPlugin","ViewPlugin","ErrPlugin","LayoutPlugin","SwaggerClientPlugin","AuthPlugin","DownloadUrlPlugin","DeepLinkingPlugin","FilterPlugin","OnCompletePlugin","RequestSnippetsPlugin","SafeRenderPlugin","onlyOAS3","OAS3NullSelector","schemaName","findSchema","schemas","hasIn","resolvedSchemes","defName","flowKey","flowVal","translatedDef","tokenUrl","oidcData","grant","translatedScopes","cur","OAS3ComponentWrapFactory","swaggerVersion","isSwagger2Helper","isOAS30","isOAS30Helper","selectedValue","resolvedSchema","unresolvedSchema","callbacksOperations","allOperations","callbackName","callbackOperations","callbackOps","pathItem","expression","pathItemOperations","groupBy","operationDTO","operationDTOs","callbackNames","getDefaultRequestBodyValue","mediaType","mediaTypeValue","hasExamplesKey","exampleSchema","handleFile","setIsIncludedOptions","RequestBodyEditor","requestBodyDescription","schemaForMediaType","rawExamplesOfMediaType","sampleForMediaType","isObjectContent","isBinaryFormat","isBase64Format","bodyProperties","currentValue","currentErrors","included","isFile","sampleRequestBody","targetOp","padString","string","Servers","currentServerVariableDefs","shouldShowVariableUI","currentServerDefinition","handleServerChange","handleServerVariableChange","variableName","newVariableValue","applyDefaultValue","onDomChange","isInvalid","HttpAuth","forceUpdate","serversToDisplay","displaying","operationLink","parser","block","enable","trimmed","ModelComponent","OAS30ComponentWrapFactory","UPDATE_SELECTED_SERVER","UPDATE_REQUEST_BODY_VALUE","UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG","UPDATE_REQUEST_BODY_INCLUSION","UPDATE_ACTIVE_EXAMPLES_MEMBER","UPDATE_REQUEST_CONTENT_TYPE","UPDATE_RESPONSE_CONTENT_TYPE","UPDATE_SERVER_VARIABLE_VALUE","SET_REQUEST_BODY_VALIDATE_ERROR","CLEAR_REQUEST_BODY_VALIDATE_ERROR","CLEAR_REQUEST_BODY_VALUE","selectedServerUrl","clearRequestBodyValue","userEditedRequestBody","mapEntries","kv","currentMediaTypeDefaultBodyValue","locationData","varValues","serverValue","escapeRegExp","validateRequestBodyIsRequired","validateRequestBodyValueExists","requiredKeys","requiredKey","currentVal","valueKeys","valueKeyVal","missingKeyValues","bodyValue","currentMissingKey","bodyValues","specWrapSelectors","authWrapSelectors","oas3","selectWebhooksOperations","pathItemNames","pathItemName","selectLicenseNameField","selectLicenseUrl","selectContactNameField","selectContactUrl","selectContactEmailField","selectInfoSummaryField","selectInfoDescriptionField","selectInfoTitleField","selectInfoTermsOfServiceUrl","selectExternalDocsUrl","externalDocsDesc","selectExternalDocsDescriptionField","contact","JsonSchemaDialect","jsonSchemaDialect","selectJsonSchemaDialectField","jsonSchemaDialectDefault","selectJsonSchemaDialectDefault","forwardRef","JSONSchema202012","handleExpand","onExpand","selectSchemas","hasSchemas","schemasPath","isOpenDefault","isOpen","getTitle","jsonSchema202012","useFn","isOpenAndExpanded","isResolved","handleModelsExpand","handleModelsRef","handleJSONSchema202012Ref","handleJSONSchema202012Expand","schemaPath","lookup","MutualTLSAuth","mutualTLSDefinitions","createOnlyOAS31Selector","createOnlyOAS31SelectorWrapper","createSystemSelector","createOnlyOAS31ComponentWrapper","originalComponent","OAS31License","OAS31Contact","OAS31Info","JSONSchema","Keyword$schema","Keyword$vocabulary","Keyword$id","Keyword$anchor","Keyword$dynamicAnchor","Keyword$ref","Keyword$dynamicRef","Keyword$defs","Keyword$comment","KeywordAllOf","KeywordAnyOf","KeywordOneOf","KeywordNot","KeywordIf","KeywordThen","KeywordElse","KeywordDependentSchemas","KeywordPrefixItems","KeywordItems","KeywordContains","KeywordProperties","KeywordPatternProperties","KeywordAdditionalProperties","KeywordPropertyNames","KeywordUnevaluatedItems","KeywordUnevaluatedProperties","KeywordType","KeywordEnum","KeywordConst","KeywordConstraint","KeywordDependentRequired","KeywordContentSchema","KeywordTitle","KeywordDescription","KeywordDefault","KeywordDeprecated","KeywordReadOnly","KeywordWriteOnly","Accordion","ExpandDeepButton","ChevronRightIcon","ModelWithJSONSchemaContext","withSchemaContext","default$schema","defaultExpandedLevels","Boolean","upperFirst","isExpandable","getProperties","ModelsWrapper","ModelsWithJSONSchemaContext","VersionPragmaFilterWrapper","OAS31VersionPragmaFilter","OAS31Auths","isOAS31Fn","webhooks","selectLicenseUrlField","selectLicenseIdentifierField","selectContactUrlField","selectInfoTermsOfServiceField","termsOfService","selectExternalDocsUrlField","rawSchemas","resolvedSchemas","oas31Selectors","identifier","hasKeyword","Xml","useIsExpandedDeeply","useComponent","isExpandedDeeply","setExpanded","expandedDeeply","setExpandedDeeply","JSONSchemaDeepExpansionContext","handleExpansion","handleExpansionDeep","expandedDeepNew","DiscriminatorMapping","Discriminator","ExternalDocs","Description","MarkDown","DescriptionKeyword","DefaultWrapper","KeywordDiscriminator","KeywordXml","KeywordExample","KeywordExternalDocs","Properties","getDependentRequired","useConfig","propertySchema","dependentRequired","PropertiesKeyword","filteredProperties","fromEntries","makeIsExpandable","original","wrappedFns","wrapOAS31Fn","systemFn","newImpl","oriImpl","impl","OAS31Plugin","createSystemSelectorFn","createOnlyOAS31SelectorFn","OAS31Model","OAS31Models","JSONSchema202012KeywordExample","JSONSchema202012KeywordXml","JSONSchema202012KeywordDiscriminator","JSONSchema202012KeywordExternalDocs","InfoWrapper","LicenseWrapper","ContactWrapper","AuthItemWrapper","AuthsWrapper","JSONSchema202012KeywordDescription","JSONSchema202012KeywordDescriptionWrapper","JSONSchema202012KeywordDefault","JSONSchema202012KeywordDefaultWrapper","JSONSchema202012KeywordProperties","JSONSchema202012KeywordPropertiesWrapper","definitionsToAuthorizeWrapper","selectIsOAS31","selectLicense","selectContact","selectWebhooks","isOAS3SelectorWrapper","selectLicenseUrlWrapper","oas31","selectOAS31LicenseUrl","objectSchema","booleanSchema","JSONSchemaContext","createContext","JSONSchemaLevelContext","JSONSchemaCyclesContext","useContext","fnName","useLevel","useIsExpanded","useRenderedSchemas","renderedSchemas","nextLevel","isEmbedded","useIsEmbedded","isCircular","useIsCircular","constraints","stringifyConstraints","expandedNew","constraint","$schema","$vocabulary","$id","$anchor","$dynamicAnchor","$dynamicRef","$defs","$comment","AllOf","AnyOf","OneOf","Not","If","if","Then","Else","else","DependentSchemas","dependentSchemas","PrefixItems","prefixItems","Items","Contains","PatternProperties","patternProperties","AdditionalProperties","PropertyNames","propertyNames","UnevaluatedItems","unevaluatedItems","UnevaluatedProperties","unevaluatedProperties","Type","circularSuffix","Enum","strigifiedElement","Const","const","Constraint","DependentRequired","ContentSchema","contentSchema","Title","renderedTitle","Default","Deprecated","ReadOnly","WriteOnly","event","ChevronRight","charAt","processedSchemas","WeakSet","isBooleanJSONSchema","getArrayType","prefixItemsTypes","itemsType","handleCombiningKeywords","keyword","separator","subSchema","combinedStrings","inferType","hasOwn","Number","isInteger","stringifyConstraintRange","label","hasMin","hasMax","multipleOf","stringifyConstraintMultipleOf","factor","numberRange","stringifyConstraintNumberRange","hasMinimum","hasMaximum","hasExclusiveMinimum","hasExclusiveMaximum","isMinExclusive","isMaxExclusive","stringRange","contentMediaType","contentEncoding","arrayRange","hasUniqueItems","containsRange","minContains","maxContains","objectRange","withJSONSchemaContext","overrides","HOC","contexts","JSONSchema202012Plugin","JSONSchema202012Keyword$schema","JSONSchema202012Keyword$vocabulary","JSONSchema202012Keyword$id","JSONSchema202012Keyword$anchor","JSONSchema202012Keyword$dynamicAnchor","JSONSchema202012Keyword$ref","JSONSchema202012Keyword$dynamicRef","JSONSchema202012Keyword$defs","JSONSchema202012Keyword$comment","JSONSchema202012KeywordAllOf","JSONSchema202012KeywordAnyOf","JSONSchema202012KeywordOneOf","JSONSchema202012KeywordNot","JSONSchema202012KeywordIf","JSONSchema202012KeywordThen","JSONSchema202012KeywordElse","JSONSchema202012KeywordDependentSchemas","JSONSchema202012KeywordPrefixItems","JSONSchema202012KeywordItems","JSONSchema202012KeywordContains","JSONSchema202012KeywordPatternProperties","JSONSchema202012KeywordAdditionalProperties","JSONSchema202012KeywordPropertyNames","JSONSchema202012KeywordUnevaluatedItems","JSONSchema202012KeywordUnevaluatedProperties","JSONSchema202012KeywordType","JSONSchema202012KeywordEnum","JSONSchema202012KeywordConst","JSONSchema202012KeywordConstraint","JSONSchema202012KeywordDependentRequired","JSONSchema202012KeywordContentSchema","JSONSchema202012KeywordTitle","JSONSchema202012KeywordDeprecated","JSONSchema202012KeywordReadOnly","JSONSchema202012KeywordWriteOnly","JSONSchema202012Accordion","JSONSchema202012ExpandDeepButton","JSONSchema202012ChevronRightIcon","withJSONSchema202012Context","JSONSchema202012DeepExpansionContext","arrayType","applyArrayConstraints","array","constrainedArray","containsItem","at","unshift","objectType","bytes","pick","isJSONSchemaObject","isPlainObject","isJSONSchema","Registry","unregister","int32Generator","int64Generator","floatGenerator","doubleGenerator","emailGenerator","idnEmailGenerator","hostnameGenerator","idnHostnameGenerator","ipv4Generator","ipv6Generator","uriGenerator","uriReferenceGenerator","iriGenerator","iriReferenceGenerator","uuidGenerator","uriTemplateGenerator","jsonPointerGenerator","relativeJsonPointerGenerator","dateTimeGenerator","dateGenerator","timeGenerator","durationGenerator","passwordGenerator","regexGenerator","registry","FormatRegistry","int32","int64","float","double","hostname","ipv4","ipv6","iri","uuid","date","time","defaults","formatAPI","generator","getDefaults","quotedPrintable","charCode","charCodeAt","utf8","unescape","j","utf8Value","base32Alphabet","paddingCount","base32Str","bufferLength","EncoderRegistry","encode7bit","encode8bit","binary","encodeQuotedPrintable","base16","base32","base64","base64url","encoderAPI","encodingName","encoder","text/plain","text/css","text/csv","text/html","text/calendar","text/javascript","text/xml","text/*","image/*","audio/*","video/*","application/json","application/ld+json","application/x-httpd-php","application/rtf","raw","application/x-sh","application/xhtml+xml","application/*","MediaTypeRegistry","textMediaTypesGenerators","imageMediaTypesGenerators","audioMediaTypesGenerators","videoMediaTypesGenerators","applicationMediaTypesGenerators","mediaTypeAPI","mediaTypeNoParams","topLevelMediaType","applyStringConstraints","constrainedString","stringType","encode","generatedString","randexp","generateFormat","formatGenerator","generateMediaType","mediaTypeGenerator","applyNumberConstraints","epsilon","EPSILON","minValue","maxValue","constrainedNumber","Math","remainder","generatedNumber","generatedInteger","Proxy","object","numberType","integerType","boolean","booleanType","null","nullType","ALL_TYPES","hasExample","defaultVal","extractExample","inferringKeywords","fallbackType","inferTypeFromValue","foldType","pickedType","randomPick","inferringTypes","interrupt","inferringType","inferringTypeKeywords","inferringKeyword","constType","combineTypes","combinedTypes","exampleType","typeCast","fromJSONBooleanSchema","mergedType","ensureArray","allPropertyNames","sourceProperty","targetProperty","propSchema","propSchemaType","attrName","typeMap","containsWithoutAnyOf","anyOfSchema","containsWithoutOneOf","oneOfSchema","itemsWithoutAnyOf","itemsWithoutOneOf","contentSample","OptionRegistry","optionAPI","optionName","optionValue","JSONSchema202012SamplesPlugin","sampleOptionAPI","sampleEncoderAPI","sampleFormatAPI","sampleMediaTypeAPI","PresetApis","OpenAPI30Plugin","OpenAPI31Plugin","presets","optionsFromQuery","urlSearchParams","queryConfigEnabled","parseSearch","searchParams","URLSearchParams","optionsFromURL","deferred","makeDeferred","promise","reject","loadRemoteConfig","fetchedOptions","optionsFromRuntime","globalThis","pathname","freeze","dom_id","urls","configUrl","curl_bash","syntax","curl_powershell","curl_cmd","defaultExpanded","languages","ApisPreset","arrayTypeCaster","booleanTypeCaster","functionTypeCaster","numberTypeCaster","parsedValue","objectTypeCaster","syntaxHighlightTypeCaster","typeCaster","nullableStringTypeCaster","stringTypeCaster","domNodeTypeCaster","filterTypeCaster","nullableFunctionTypeCaster","undefinedStringTypeCaster","sorterTypeCaster","paramaterMacro","nullableArrayTypeCaster","mappings","optionPath","casted","sources","for","primaryName","sourcesWithoutExceptions","sourceWithoutExceptions","SwaggerUI","userOptions","queryOptions","runtimeOptions","mergedOptions","systemOptions","systemOptionsFactorization","InlinePlugin","inlinePluginOptionsFactorization","unboundSystem","System","persistConfigs","querySelector","urlOptions","urlMergedOptions","mergeOptions","typeCastOptions","typeCastMappings","base","apis","Auth","Configs","DeepLining","Err","Filter","Icons","JSONSchema5","JSONSchema5Samples","JSONSchema202012Samples","Logs","OpenAPI30","OpenAPI31","OnComplete","Spec","SwaggerClient","Util","View","ViewLegacy","DownloadUrl","SyntaxHighlighting","Versions","SafeRender"],"sourceRoot":""}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            {  .   )  ..   09                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        s  .     ..    asm   asm_avx2 no-asm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ޭT  .     ..    crypto    include  	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 Sq`  .     ..   
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ުL  .     ..    crypto    openssl  progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   W  .     ..   
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                q_  .     ..    crypto    openssl  progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ˑJv  .     ..    	bn_conf.h    
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
m  .     ..    asn1.h    asn1t.h   cms.h     conf.h    configuration.h   crmf.h    crypto.h  ct.h  ess.h     	fipskey.h     lhash.h   ocsp.h    pkcs12.h  safestack.h   srp.h     ssl.h     ui.h  x509.h    
x509_vfy.h    err.h     x509v3.h  cmp.h     pkcs7.h   bio.h    P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    :aa  .     ..   common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .     ..   include                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   Hb  .     ..   prov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      #  .     ..    
der_digests.h     	der_dsa.h     der_ec.h  	der_ecx.h     	der_rsa.h     	der_sm2.h    d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        n  .   k  ..    crypto    include  	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ޤb  .     ..   
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ޴qT  .     ..    crypto    openssl  progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   *  .     ..    	bn_conf.h    
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            oJi  .     ..    asn1.h    asn1t.h   cms.h     conf.h    configuration.h   crmf.h    crypto.h  ct.h  ess.h     	fipskey.h     lhash.h   ocsp.h    pkcs12.h  safestack.h   srp.h     ssl.h     ui.h  x509.h    
x509_vfy.h    err.h     x509v3.h  cmp.h     pkcs7.h   bio.h    P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    RUY  .     ..   common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    *u  .     ..   include                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   N  .     ..   prov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      K  .     ..    
der_digests.h     	der_dsa.h     der_ec.h  	der_ecx.h     	der_rsa.h     	der_sm2.h    d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        @HW  .     ..    asm !  asm_avx2N no-asm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ^@X  .     ..    crypto    include  	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ޛ  .     ..   
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             و	O  .     ..    crypto    openssl  progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   8;  .     ..    	bn_conf.h    
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Xn  .     ..    asn1.h    asn1t.h   cms.h     conf.h     configuration.h   crmf.h    crypto.h  ct.h  ess.h     	fipskey.h     lhash.h   ocsp.h    pkcs12.h	  safestack.h 
  srp.h     ssl.h     ui.h
  x509.h    
x509_vfy.h    err.h     x509v3.h  cmp.h     pkcs7.h   bio.h    P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    eI/
  .     ..   common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Jw  .     ..   include                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     .     ..   prov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .8  .     ..    
der_digests.h     	der_dsa.h     der_ec.h  	der_ecx.h     	der_rsa.h     	der_sm2.h     d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        tШ!  .     ..  "  crypto  $  include C 	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ޚ"  .   !  ..  # 
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1/$  .   !  ..  %  crypto  (  openssl B progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   @%  .   $  ..  &  	bn_conf.h   ' 
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Gd0(  .   $  ..  )  asn1.h  *  asn1t.h +  cms.h   ,  conf.h  -  configuration.h .  crmf.h  /  crypto.h0  ct.h1  ess.h   2  	fipskey.h   3  lhash.h 4  ocsp.h  5  pkcs12.h6  safestack.h 7  srp.h   8  ssl.h   9  ui.h:  x509.h  ;  
x509_vfy.h  <  err.h   =  x509v3.h>  cmp.h   ?  pkcs7.h @  bio.h   A P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ީA  .   @  ..  B include                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   VB  .   A  ..  C prov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      H0C  .   B  ..  D  
der_digests.h   E  	der_dsa.h   F  der_ec.hG  	der_ecx.h   H  	der_rsa.h   I  	der_sm2.h   J d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        *fyK  .     ..  L  crypto  N  include m 	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ޝL  .   K  ..  M 
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                #DN  .   K  ..  O  crypto  R  openssl l progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   UO  .   N  ..  P  	bn_conf.h   Q 
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            R  .   N  ..  S  asn1.h  T  asn1t.h U  cms.h   V  conf.h  W  configuration.h X  crmf.h  Y  crypto.hZ  ct.h[  ess.h   \  	fipskey.h   ]  lhash.h ^  ocsp.h  _  pkcs12.h`  safestack.h a  srp.h   b  ssl.h   c  ui.hd  x509.h  e  
x509_vfy.h  f  err.h   g  x509v3.hh  cmp.h   i  pkcs7.h j  bio.h   k P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ަ)~Q  .   2  ..  S 08                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         /S  .   Q  ..  T <d31d1445c33aa016b9425efe9e7f7a4a2f28821ba3e9da814af10a29bda2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              o  .   )  ..  q 93                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ޶xA`  .   c  ..  a <eec19a509f397780d0245fb644e56ef2ff0511e1db29cc58fc79c95f255a                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ׳=  .   {  ..  d |46ad6ea221531b2ba589b811be2df0879da0b6a8006d716e7d5cf1b636b13fe9fa0b4003602d7e08bd973acc94703c3b07b3bf3024fb72625ce82656ab4d                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              0 z  .   2  ..  | da                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        /;B  .   A  ..  C <4ae78aa46e4c6c6caf58816e16b5b65055353c7b515feb5c304588a9c3f9                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              /-  .   2  ..  /  68  i 97                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ޝn  .   2  ..   ab                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        !%S/  .   -  ..  0 <3ebf904d72afda9ea397adad7699ac2a4ab0ceb60b69520945bd21f7fe0c                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              J  .   )  ..  K 84                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         K  .   J  ..  E |25c8062f56d43bb8e84315864218af2492eb769e1f1ca40740f44e85bd148969382d651660363942e5909cb7ffcbef7ca0ae963ddc2c57a51243b4da8f56                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              {  .     ..   <743846836d305e2c334b9d82e3827401e48debb6eee31ff7e1d9733bae7c                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              5s|  .   z  ..  } <2681ec5ebd7aeab77f06ba3630a896a25a6ee4933d8f443dd09a721742a5                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              UqGx  .   w  ..   node                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      !aւ  .   x  ..    config.gypi   common.gypi   node.h    
node_api.h    js_native_api.h    js_native_api_types.h     node_api_types.h  
node_buffer.h     node_object_wrap.h    node_version.h    
v8-internal.h     v8-exception.h    v8-message.h  v8-microtask-queue.h  
v8-maybe.h    
v8config.h    v8-typed-array.h  v8-extension.h    
v8-external.h    $ v8-embedder-state-scope.h      v8-persistent-handle.h    	v8-json.h     
v8-snapshot.h     
v8-template.h     v8-traced-handle.h    
v8-value.h    v8-microtask.h    v8-memory-span.h   v8-primitive-object.h     v8-array-buffer.h     
v8-proxy.h     v8-value-serializer.h     v8-context.h  
v8-cppgc.h    	v8-date.h     v8-regexp.h   v8.h  v8-locker.h   v8-callbacks.h    v8-embedder-heap.h    v8-isolate.h  v8-local-handle.h     	v8-wasm.h     v8-forward.h   v8-function-callback.h    
v8-function.h     v8-object.h   
v8-platform.h     v8-primitive.h    v8-version.h  	v8-data.h     v8-promise.h  v8-statistics.h   
v8-unwinder.h     
v8-profiler.h     v8-script.h   v8-container.h    
v8-debug.h    v8-initialization.h    v8-weak-callback-info.h   cppgc     libplatform   uv.h  uv    openssl   zconf.h  	zlib.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ެ
|  .     ..    
der_digests.h     	der_dsa.h     der_ec.h  	der_ecx.h     	der_rsa.h     	der_sm2.h    d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        `=3  .     ..    asm   asm_avx2  no-asm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        YB  .     ..    crypto    include  	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ,R  .     ..   
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ޡhu  .     ..    crypto    openssl  progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   KX  .     ..    	bn_conf.h    
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ތ  .     ..    asn1.h    asn1t.h   cms.h     conf.h    configuration.h   crmf.h    crypto.h  ct.h  ess.h     	fipskey.h     lhash.h   ocsp.h    pkcs12.h  safestack.h   srp.h     ssl.h     ui.h  x509.h    
x509_vfy.h    err.h     x509v3.h  cmp.h     pkcs7.h   bio.h    P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ދ]  .     ..   common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ޑj  .   
  ..    
der_digests.h   
  	der_dsa.h     der_ec.h  	der_ecx.h     	der_rsa.h     	der_sm2.h    d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ޕ  .     ..    asm A  asm_avx2n no-asm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ޟ  .     ..    crypto    include 6 	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 c\d  .     ..   
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                >  .     ..    crypto    openssl 5 progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   b  .     ..    	bn_conf.h    
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            d  .     ..    asn1.h    asn1t.h   cms.h     conf.h     configuration.h !  crmf.h  "  crypto.h#  ct.h$  ess.h   %  	fipskey.h   &  lhash.h '  ocsp.h  (  pkcs12.h)  safestack.h *  srp.h   +  ssl.h   ,  ui.h-  x509.h  .  
x509_vfy.h  /  err.h   0  x509v3.h1  cmp.h   2  pkcs7.h 3  bio.h   4 P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    pU&6  .     ..  7 common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ;g7  .   6  ..  8 include                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   3&8  .   7  ..  9 prov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      /'z9  .   8  ..  :  
der_digests.h   ;  	der_dsa.h   <  der_ec.h=  	der_ecx.h   >  	der_rsa.h   ?  	der_sm2.h   @ d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        vXA  .     ..  B  crypto  D  include c 	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ޢBB  .   A  ..  C 
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                kbXD  .   A  ..  E  crypto  H  openssl b progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   QME  .   D  ..  F  	bn_conf.h   G 
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ׻FH  .   D  ..  I  asn1.h  J  asn1t.h K  cms.h   L  conf.h  M  configuration.h N  crmf.h  O  crypto.hP  ct.hQ  ess.h   R  	fipskey.h   S  lhash.h T  ocsp.h  U  pkcs12.hV  safestack.h W  srp.h   X  ssl.h   Y  ui.hZ  x509.h  [  
x509_vfy.h  \  err.h   ]  x509v3.h^  cmp.h   _  pkcs7.h `  bio.h   a P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    :Ǽc  .   A  ..  d common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ޛd  .   c  ..  e include                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   Se  .   d  ..  f prov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ޲f  .   e  ..  g  
der_digests.h   h  	der_dsa.h   i  der_ec.hj  	der_ecx.h   k  	der_rsa.h   l  	der_sm2.h   m d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        k<n  .     ..  o  crypto  q  include  	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 Go  .   n  ..  p 
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                FV"q  .   n  ..  r  crypto  u  openssl  progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   CNCr  .   q  ..  s  	bn_conf.h   t 
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            8u  .   q  ..  v  asn1.h  w  asn1t.h x  cms.h   y  conf.h  z  configuration.h {  crmf.h  |  crypto.h}  ct.h~  ess.h     	fipskey.h     lhash.h   ocsp.h    pkcs12.h  safestack.h   srp.h     ssl.h     ui.h  x509.h    
x509_vfy.h    err.h     x509v3.h  cmp.h     pkcs7.h   bio.h    P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ޑg+l  .   n  ..   common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ޞ]  .     ..   include                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     .     ..   prov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Fc  .     ..    
der_digests.h     	der_dsa.h     der_ec.h  	der_ecx.h     	der_rsa.h     	der_sm2.h    d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ޭ]n՛  .     ..    asm   asm_avx2 no-asm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        "  .     ..    crypto    include  	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ͝  .     ..   
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                0bT  .     ..    crypto    openssl  progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   9P  .     ..    	bn_conf.h    
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
xq  .     ..    asn1.h    asn1t.h   cms.h     conf.h    configuration.h   crmf.h    crypto.h  ct.h  ess.h     	fipskey.h     lhash.h   ocsp.h    pkcs12.h  safestack.h   srp.h     ssl.h     ui.h  x509.h    
x509_vfy.h    err.h     x509v3.h  cmp.h     pkcs7.h   bio.h    P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    >N"  .     ..   common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    	h  .     ..   include                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   -  .     ..   prov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ސM  .     ..    
der_digests.h     	der_dsa.h     der_ec.h  	der_ecx.h     	der_rsa.h     	der_sm2.h    d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ޅ
b  .     ..    crypto    include  	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ޅS  .     ..   
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <  .     ..    crypto    openssl  progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   a#0  .     ..    	bn_conf.h    
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            =Fd  .     ..    asn1.h    asn1t.h   cms.h     conf.h    configuration.h   crmf.h    crypto.h  ct.h  ess.h     	fipskey.h     lhash.h   ocsp.h    pkcs12.h  safestack.h   srp.h     ssl.h     ui.h  x509.h    
x509_vfy.h    err.h     x509v3.h  cmp.h     pkcs7.h   bio.h    P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ޗ4X  .     ..   common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    k˜  .     ..   include                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   P  .     ..   prov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      #?v  .     ..    
der_digests.h     	der_dsa.h     der_ec.h  	der_ecx.h     	der_rsa.h     	der_sm2.h    d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        0  .     ..    crypto    include   	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ޡp  .     ..   
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ޟ  .     ..    crypto    openssl   progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   )_  .     ..    	bn_conf.h    
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (  .     ..    asn1.h    asn1t.h     cms.h      conf.h     configuration.h    crmf.h     crypto.h   ct.h   ess.h      	fipskey.h      lhash.h 	   ocsp.h  
   pkcs12.h   safestack.h    srp.h   
   ssl.h      ui.h   x509.h     
x509_vfy.h     err.h      x509v3.h   cmp.h      pkcs7.h    bio.h     P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    S   .     ..    common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   .      ..    include                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   !1C   .      ..    prov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ޠ   .      ..     
der_digests.h      	der_dsa.h      der_ec.h   	der_ecx.h       	der_rsa.h   !   	der_sm2.h   "  d
der_wrap.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        o\/#   .     ..  $   asm Q   asm_avx2~  no-asm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ޻$   .   #   ..  %   crypto  '   include F  	providers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ލ%   .   $   ..  &  
buildinf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *C'   .   $   ..  (   crypto  +   openssl E  progs.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ޞ(   .   '   ..  )   	bn_conf.h   *  
dso_conf.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            )h+   .   '   ..  ,   asn1.h  -   asn1t.h .   cms.h   /   conf.h  0   configuration.h 1   crmf.h  2   crypto.h3   ct.h4   ess.h   5   	fipskey.h   6   lhash.h 7   ocsp.h  8   pkcs12.h9   safestack.h :   srp.h   ;   ssl.h   <   ui.h=   x509.h  >   
x509_vfy.h  ?   err.h   @   x509v3.hA   cmp.h   B   pkcs7.h C   bio.h   D  P
opensslv.h                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    `IF   .   $   ..  G  common                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    -H