(function (_, kotlin_kotlin, kotlin_io_ktor_ktor_http, kotlin_io_ktor_ktor_io) {
  'use strict';
  //region block: imports
  var PrimitiveClasses_getInstance = kotlin_kotlin.$_$.x5;
  var HttpStatusCode = kotlin_io_ktor_ktor_http.$_$.v;
  var getKClass = kotlin_kotlin.$_$.e;
  var ByteReadChannel = kotlin_io_ktor_ktor_io.$_$.f1;
  var OutgoingContent = kotlin_io_ktor_ktor_http.$_$.q;
  var setOf = kotlin_kotlin.$_$.ub;
  var protoOf = kotlin_kotlin.$_$.xf;
  var Application_getInstance = kotlin_io_ktor_ktor_http.$_$.c;
  var interfaceMeta = kotlin_kotlin.$_$.ye;
  var setMetadataFor = kotlin_kotlin.$_$.yf;
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.s;
  var LinkedHashSet_init_$Create$ = kotlin_kotlin.$_$.f1;
  //endregion
  //region block: pre-declaration
  function write(data) {
    return this.write_508nyz_k$(data, Application_getInstance().get_Json_wo4ci9_k$());
  }
  setMetadataFor(JsonSerializer, 'JsonSerializer', interfaceMeta);
  //endregion
  function get_DefaultCommonIgnoredTypes() {
    _init_properties_JsonPlugin_kt__u4az6j();
    return DefaultCommonIgnoredTypes;
  }
  var DefaultCommonIgnoredTypes;
  var properties_initialized_JsonPlugin_kt_vwb36r;
  function _init_properties_JsonPlugin_kt__u4az6j() {
    if (!properties_initialized_JsonPlugin_kt_vwb36r) {
      properties_initialized_JsonPlugin_kt_vwb36r = true;
      DefaultCommonIgnoredTypes = setOf([PrimitiveClasses_getInstance().get_byteArrayClass_57my8g_k$(), PrimitiveClasses_getInstance().get_stringClass_bik2gy_k$(), getKClass(HttpStatusCode), getKClass(ByteReadChannel), getKClass(OutgoingContent)]);
    }
  }
  function JsonSerializer() {
  }
  function get_serializersStore() {
    _init_properties_DefaultJs_kt__opfp8o();
    return serializersStore;
  }
  var serializersStore;
  var properties_initialized_DefaultJs_kt_mit67a;
  function _init_properties_DefaultJs_kt__opfp8o() {
    if (!properties_initialized_DefaultJs_kt_mit67a) {
      properties_initialized_DefaultJs_kt_mit67a = true;
      // Inline function 'kotlin.collections.mutableListOf' call
      serializersStore = ArrayList_init_$Create$();
    }
  }
  function get_DefaultIgnoredTypes() {
    _init_properties_JsonPluginJs_kt__mch5rw();
    return DefaultIgnoredTypes;
  }
  var DefaultIgnoredTypes;
  var properties_initialized_JsonPluginJs_kt_vh5mw6;
  function _init_properties_JsonPluginJs_kt__mch5rw() {
    if (!properties_initialized_JsonPluginJs_kt_vh5mw6) {
      properties_initialized_JsonPluginJs_kt_vh5mw6 = true;
      // Inline function 'kotlin.collections.mutableSetOf' call
      DefaultIgnoredTypes = LinkedHashSet_init_$Create$();
    }
  }
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = write;
  _.$_$.b = JsonSerializer;
  _.$_$.c = get_serializersStore;
  //endregion
  return _;
}(module.exports, require('./kotlin-kotlin-stdlib.js'), require('./ktor-ktor-http.js'), require('./ktor-ktor-io.js')));
