package com.l7tech.server.service;

import com.l7tech.gateway.common.AsyncAdminMethods.JobId;
import com.l7tech.gateway.common.AsyncAdminMethods.JobResult;
import com.l7tech.gateway.common.AsyncAdminMethods.JobStillActiveException;
import com.l7tech.gateway.common.AsyncAdminMethods.UnknownJobException;
import com.l7tech.gateway.common.admin.UDDIRegistryAdmin;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.gateway.common.service.PublishedServiceAlias;
import com.l7tech.gateway.common.service.SampleMessage;
import com.l7tech.gateway.common.service.ServiceAdmin;
import com.l7tech.gateway.common.service.ServiceDocument;
import com.l7tech.gateway.common.service.ServiceDocumentWsdlStrategy;
import com.l7tech.gateway.common.service.ServiceHeader;
import com.l7tech.gateway.common.service.ServiceHeaderDifferentiator;
import com.l7tech.gateway.common.service.ServiceTemplate;
import com.l7tech.gateway.common.service.ServiceAdmin.DownloadDocumentType;
import com.l7tech.gateway.common.service.ServiceAdmin.ResolutionReport;
import com.l7tech.gateway.common.uddi.UDDIRegistry;
import com.l7tech.objectmodel.DeleteException;
import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.PersistentEntity;
import com.l7tech.objectmodel.SaveException;
import com.l7tech.objectmodel.UpdateException;
import com.l7tech.objectmodel.VersionException;
import com.l7tech.policy.AssertionLicense;
import com.l7tech.policy.Policy;
import com.l7tech.policy.PolicyValidator;
import com.l7tech.policy.PolicyValidatorResult;
import com.l7tech.policy.PolicyVersion;
import com.l7tech.policy.assertion.Assertion;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.PolicyReference;
import com.l7tech.policy.assertion.composite.CompositeAssertion;
import com.l7tech.policy.validator.PolicyValidationContext;
import com.l7tech.policy.wsp.WspReader;
import com.l7tech.server.admin.AsyncAdminMethodsImpl;
import com.l7tech.server.event.AdminInfo;
import com.l7tech.server.policy.PolicyAssertionRbacChecker;
import com.l7tech.server.policy.PolicyVersionManager;
import com.l7tech.server.tokenservice.SecurityTokenServiceTemplateRegistry;
import com.l7tech.server.transport.ResolutionConfigurationManager;
import com.l7tech.server.uddi.ServiceWsdlUpdateChecker;
import com.l7tech.server.uddi.UDDIHelper;
import com.l7tech.server.uddi.UDDITemplateManager;
import com.l7tech.uddi.UDDIClient;
import com.l7tech.uddi.UDDIException;
import com.l7tech.uddi.UDDINamedEntity;
import com.l7tech.uddi.UDDIRegistryInfo;
import com.l7tech.uddi.WsdlPortInfo;
import com.l7tech.util.Background;
import com.l7tech.util.CollectionUpdate;
import com.l7tech.util.CollectionUpdateProducer;
import com.l7tech.util.Config;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.GoidUpgradeMapper;
import com.l7tech.util.ResolvingComparator;
import com.l7tech.util.ResourceUtils;
import com.l7tech.util.ValidatedConfig;
import com.l7tech.util.Functions.UnaryThrows;
import jakarta.inject.Inject;
import java.io.IOException;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.FutureTask;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.DisposableBean;

public final class ServiceAdminImpl implements ServiceAdmin, DisposableBean {
   private static final ServiceHeader[] a;
   private final AssertionLicense b;
   private final UDDIHelper c;
   private final ServiceManager d;
   private final ServiceAliasManager e;
   private final PolicyValidator f;
   private final SampleMessageManager g;
   private final ServiceDocumentManager h;
   private final WspReader i;
   private final UDDITemplateManager j;
   private final PolicyVersionManager k;
   private final ServiceTemplateManager l;
   private final ServiceDocumentResolver m;
   private final SecurityTokenServiceTemplateRegistry n;
   private final ServiceCache o;
   private final ResolutionConfigurationManager p;
   private final AsyncAdminMethodsImpl q = new AsyncAdminMethodsImpl();
   private final ExecutorService r;
   private final UDDIRegistryAdmin s;
   private final ServiceWsdlUpdateChecker t;
   @Inject
   private PolicyAssertionRbacChecker policyChecker;
   private CollectionUpdateProducer<ServiceHeader, FindException> u = new c(this, 300000L, 100, new ServiceHeaderDifferentiator());
   private final Logger v = Logger.getLogger(this.getClass().getName());
   private static final String[] w;

   public ServiceAdminImpl(
      AssertionLicense var1,
      UDDIHelper var2,
      ServiceManager var3,
      ServiceAliasManager var4,
      PolicyValidator var5,
      SampleMessageManager var6,
      ServiceDocumentManager var7,
      WspReader var8,
      UDDITemplateManager var9,
      PolicyVersionManager var10,
      Config var11,
      ServiceTemplateManager var12,
      ServiceDocumentResolver var13,
      UDDIRegistryAdmin var14,
      ServiceWsdlUpdateChecker var15,
      SecurityTokenServiceTemplateRegistry var16,
      ServiceCache var17,
      ResolutionConfigurationManager var18
   ) {
      this.b = var1;
      this.c = var2;
      this.d = var3;
      this.e = var4;
      this.f = var5;
      this.g = var6;
      this.h = var7;
      this.i = var8;
      this.j = var9;
      this.k = var10;
      this.l = var12;
      this.m = var13;
      this.s = var14;
      this.t = var15;
      this.n = var16;
      this.o = var17;
      this.p = var18;
      int var19 = this.a(var11).getIntProperty(w[1], 15);
      LinkedBlockingQueue var20 = new LinkedBlockingQueue();
      this.r = new ThreadPoolExecutor(1, var19, 300L, TimeUnit.SECONDS, var20);
   }

   public String resolveWsdlTarget(String var1) throws IOException {
      return this.m.resolveWsdlTarget(var1);
   }

   public String resolveUrlTarget(String var1, String var2) throws IOException {
      return this.m.resolveDocumentTarget(var1, DownloadDocumentType.MOD_ASS, var2);
   }

   public String resolveUrlTarget(String var1, DownloadDocumentType var2, String var3) throws IOException {
      return this.m.resolveDocumentTarget(var1, var2, var3);
   }

   public JobId<String> resolveUrlTargetAsync(String var1, String var2) {
      FutureTask var3 = new FutureTask<>(AdminInfo.find(false).wrapCallable(new n(this, var1, var2)));
      Background.scheduleOneShot(new ap(this, var3), 0L);
      return this.q.registerJob(var3, String.class);
   }

   public String resolveUrlTarget(String var1, DownloadDocumentType var2) throws IOException {
      return this.m.resolveDocumentTarget(var1, var2);
   }

   public JobId<String> resolveUrlTargetAsync(String var1, DownloadDocumentType var2) {
      FutureTask var3 = new FutureTask<>(AdminInfo.find(false).wrapCallable(new o(this, var1, var2)));
      Background.scheduleOneShot(new aq(this, var3), 0L);
      return this.q.registerJob(var3, String.class);
   }

   public PublishedService findServiceByID(String var1) throws FindException {
      Goid var2 = a(var1);
      PublishedService var3 = (PublishedService)this.d.findByPrimaryKey(var2);
      if (var3 != null) {
         Logger var10000 = this.v;
         String var10001 = var2.toHexString();
         int var10002 = var3.getVersion();
         String[] var6 = w;
         var10000.finest(var6[26] + var10001 + var6[7] + var10002);
         Policy var4 = var3.getPolicy();
         PolicyVersion var5 = this.k.findActiveVersionForPolicy(var4.getGoid());

         try {
            if (var5 != null) {
               var4.setVersionOrdinal(var5.getOrdinal());
               var4.setVersionActive(true);
            }
         } catch (FindException var7) {
            throw a(var7);
         }
      }

      return var3;
   }

   public Collection<ServiceDocument> findServiceDocumentsByServiceID(String var1) throws FindException {
      Goid var2 = a(var1);
      return this.h.findByServiceId(var2);
   }

   public ServiceHeader[] findAllPublishedServices() throws FindException {
      Collection var1 = this.d.findAllHeaders();
      return this.a(var1);
   }

   public ServiceHeader[] findAllPublishedServices(boolean var1) throws FindException {
      Collection var2 = this.d.findAllHeaders(var1);
      return this.a(var2);
   }

   public ServiceHeader[] findAllPublishedServicesByOffset(int var1, int var2) throws FindException {
      Collection var3 = this.d.findAllHeaders(var1, var2);
      return this.a(var3);
   }

   public PublishedServiceAlias findAliasByEntityAndFolder(Goid var1, Goid var2) throws FindException {
      return this.e.findAliasByEntityAndFolder(var1, var2);
   }

   public CollectionUpdate<ServiceHeader> getPublishedServicesUpdate(int var1) throws FindException {
      return this.u.createUpdate(var1);
   }

   public JobId<PolicyValidatorResult> validatePolicy(String var1, PolicyValidationContext var2) {
      Assertion var3;
      try {
         var3 = this.i.parsePermissively(var1, WspReader.INCLUDE_DISABLED);
      } catch (IOException var5) {
         throw new RuntimeException(w[29] + ExceptionUtils.getMessage(var5), var5);
      }

      return this.a(var3, var2);
   }

   private JobId<PolicyValidatorResult> a(@Nullable Assertion var1, PolicyValidationContext var2) {
      return this.q.registerJob(this.r.submit(AdminInfo.find(false).wrapCallable(new p(this, var1, var2))), PolicyValidatorResult.class);
   }

   public JobId<PolicyValidatorResult> validatePolicy(String var1, PolicyValidationContext var2, HashMap<String, Policy> var3) {
      Assertion var4;
      try {
         var4 = this.i.parsePermissively(var1, WspReader.INCLUDE_DISABLED);
         this.a(var4, var3);
      } catch (IOException var6) {
         throw new RuntimeException(w[5] + ExceptionUtils.getMessage(var6), var6);
      }

      return this.a(var4, var2);
   }

   private void a(@Nullable Assertion var1, HashMap<String, Policy> var2) throws IOException {
      if (var1 instanceof CompositeAssertion var3) {
         Iterator var4 = var3.children();

         while (var4.hasNext()) {
            Assertion var5 = (Assertion)var4.next();
            this.a(var5, var2);
         }
      } else if (var1 instanceof PolicyReference var7) {
         try {
            if (var2.containsKey(var7.retrievePolicyGuid())) {
               var7.replaceFragmentPolicy((Policy)var2.get(var7.retrievePolicyGuid()));
               this.a(var7.retrieveFragmentPolicy().getAssertion(), var2);
            }
         } catch (IOException var6) {
            throw a(var6);
         }
      }
   }

   private static boolean a(PersistentEntity var0) {
      return Goid.isDefault(var0.getGoid());
   }

   public Goid savePublishedService(PublishedService var1) throws UpdateException, SaveException, VersionException, PolicyAssertionException {
      return this.a(var1, true);
   }

   private Goid a(PublishedService param1, boolean param2) throws UpdateException, SaveException, VersionException, PolicyAssertionException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 1
      // 001: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 004: astore 3
      // 005: aload 3
      // 006: ifnull 02d
      // 009: aload 1
      // 00a: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Lcom/l7tech/objectmodel/PersistentEntity;)Z
      // 00d: aload 3
      // 00e: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Lcom/l7tech/objectmodel/PersistentEntity;)Z
      // 011: if_icmpeq 02d
      // 014: goto 01b
      // 017: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 01a: athrow
      // 01b: new com/l7tech/objectmodel/SaveException
      // 01e: dup
      // 01f: getstatic com/l7tech/server/service/ServiceAdminImpl.w [Ljava/lang/String;
      // 022: bipush 23
      // 024: aaload
      // 025: invokespecial com/l7tech/objectmodel/SaveException.<init> (Ljava/lang/String;)V
      // 028: athrow
      // 029: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02c: athrow
      // 02d: aload 1
      // 02e: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Lcom/l7tech/objectmodel/PersistentEntity;)Z
      // 031: ifne 0c3
      // 034: aload 1
      // 035: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 038: astore 4
      // 03a: aload 0
      // 03b: getfield com/l7tech/server/service/ServiceAdminImpl.v Ljava/util/logging/Logger;
      // 03e: aload 4
      // 040: invokevirtual com/l7tech/objectmodel/Goid.toHexString ()Ljava/lang/String;
      // 043: getstatic com/l7tech/server/service/ServiceAdminImpl.w [Ljava/lang/String;
      // 046: bipush 9
      // 048: aaload
      // 049: swap
      // 04a: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 04f: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 052: iload 2
      // 053: ifeq 067
      // 056: aload 0
      // 057: getfield com/l7tech/server/service/ServiceAdminImpl.t Lcom/l7tech/server/uddi/ServiceWsdlUpdateChecker;
      // 05a: aload 1
      // 05b: bipush 1
      // 05c: invokevirtual com/l7tech/server/uddi/ServiceWsdlUpdateChecker.isWsdlUpdatePermitted (Lcom/l7tech/gateway/common/service/PublishedService;Z)Z
      // 05f: pop
      // 060: goto 067
      // 063: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 066: athrow
      // 067: aload 0
      // 068: getfield com/l7tech/server/service/ServiceAdminImpl.d Lcom/l7tech/server/service/ServiceManager;
      // 06b: aload 1
      // 06c: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 06f: invokeinterface com/l7tech/server/service/ServiceManager.findByPrimaryKey (Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/objectmodel/PersistentEntity; 2
      // 074: checkcast com/l7tech/gateway/common/service/PublishedService
      // 077: astore 5
      // 079: aload 5
      // 07b: ifnonnull 090
      // 07e: new com/l7tech/objectmodel/UpdateException
      // 081: dup
      // 082: getstatic com/l7tech/server/service/ServiceAdminImpl.w [Ljava/lang/String;
      // 085: bipush 16
      // 087: aaload
      // 088: invokespecial com/l7tech/objectmodel/UpdateException.<init> (Ljava/lang/String;)V
      // 08b: athrow
      // 08c: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 08f: athrow
      // 090: aload 3
      // 091: ifnull 0a4
      // 094: aload 1
      // 095: aload 5
      // 097: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 09a: invokevirtual com/l7tech/gateway/common/service/PublishedService.setPolicy (Lcom/l7tech/policy/Policy;)V
      // 09d: goto 0a4
      // 0a0: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a3: athrow
      // 0a4: aload 1
      // 0a5: aload 5
      // 0a7: invokevirtual com/l7tech/gateway/common/service/PublishedService.getFolder ()Lcom/l7tech/objectmodel/folder/Folder;
      // 0aa: invokevirtual com/l7tech/gateway/common/service/PublishedService.setFolder (Lcom/l7tech/objectmodel/folder/Folder;)V
      // 0ad: aload 1
      // 0ae: aload 5
      // 0b0: invokevirtual com/l7tech/gateway/common/service/PublishedService.isTracingEnabled ()Z
      // 0b3: invokevirtual com/l7tech/gateway/common/service/PublishedService.setTracingEnabled (Z)V
      // 0b6: aload 0
      // 0b7: getfield com/l7tech/server/service/ServiceAdminImpl.d Lcom/l7tech/server/service/ServiceManager;
      // 0ba: aload 1
      // 0bb: invokeinterface com/l7tech/server/service/ServiceManager.update (Lcom/l7tech/objectmodel/PersistentEntity;)V 2
      // 0c0: goto 12d
      // 0c3: aload 0
      // 0c4: getfield com/l7tech/server/service/ServiceAdminImpl.v Ljava/util/logging/Logger;
      // 0c7: getstatic com/l7tech/server/service/ServiceAdminImpl.w [Ljava/lang/String;
      // 0ca: bipush 30
      // 0cc: aaload
      // 0cd: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 0d0: aload 3
      // 0d1: ifnull 0f0
      // 0d4: aload 3
      // 0d5: invokevirtual com/l7tech/policy/Policy.getGuid ()Ljava/lang/String;
      // 0d8: ifnonnull 0f0
      // 0db: goto 0e2
      // 0de: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e1: athrow
      // 0e2: invokestatic java/util/UUID.randomUUID ()Ljava/util/UUID;
      // 0e5: astore 5
      // 0e7: aload 3
      // 0e8: aload 5
      // 0ea: invokevirtual java/util/UUID.toString ()Ljava/lang/String;
      // 0ed: invokevirtual com/l7tech/policy/Policy.setGuid (Ljava/lang/String;)V
      // 0f0: aload 1
      // 0f1: bipush 0
      // 0f2: invokevirtual com/l7tech/gateway/common/service/PublishedService.setTracingEnabled (Z)V
      // 0f5: aload 0
      // 0f6: getfield com/l7tech/server/service/ServiceAdminImpl.d Lcom/l7tech/server/service/ServiceManager;
      // 0f9: aload 1
      // 0fa: invokeinterface com/l7tech/server/service/ServiceManager.save (Lcom/l7tech/objectmodel/PersistentEntity;)Lcom/l7tech/objectmodel/Goid; 2
      // 0ff: astore 4
      // 101: aload 3
      // 102: ifnull 123
      // 105: aload 0
      // 106: getfield com/l7tech/server/service/ServiceAdminImpl.policyChecker Lcom/l7tech/server/policy/PolicyAssertionRbacChecker;
      // 109: aload 3
      // 10a: invokeinterface com/l7tech/server/policy/PolicyAssertionRbacChecker.checkPolicy (Lcom/l7tech/policy/Policy;)V 2
      // 10f: aload 0
      // 110: getfield com/l7tech/server/service/ServiceAdminImpl.k Lcom/l7tech/server/policy/PolicyVersionManager;
      // 113: aload 3
      // 114: bipush 1
      // 115: bipush 1
      // 116: invokeinterface com/l7tech/server/policy/PolicyVersionManager.checkpointPolicy (Lcom/l7tech/policy/Policy;ZZ)Lcom/l7tech/policy/PolicyVersion; 4
      // 11b: pop
      // 11c: goto 123
      // 11f: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 122: athrow
      // 123: aload 0
      // 124: getfield com/l7tech/server/service/ServiceAdminImpl.d Lcom/l7tech/server/service/ServiceManager;
      // 127: aload 1
      // 128: invokeinterface com/l7tech/server/service/ServiceManager.createRoles (Lcom/l7tech/objectmodel/PersistentEntity;)V 2
      // 12d: goto 13c
      // 130: astore 5
      // 132: new com/l7tech/objectmodel/SaveException
      // 135: dup
      // 136: aload 5
      // 138: invokespecial com/l7tech/objectmodel/SaveException.<init> (Ljava/lang/Throwable;)V
      // 13b: athrow
      // 13c: aload 4
      // 13e: areturn
      // try (117 -> 130): 131 com/l7tech/objectmodel/ObjectModelException
      // try (89 -> 100): 101 com/l7tech/objectmodel/ObjectModelException
      // try (67 -> 73): 74 com/l7tech/objectmodel/ObjectModelException
      // try (56 -> 65): 65 com/l7tech/objectmodel/ObjectModelException
      // try (28 -> 46): 47 com/l7tech/objectmodel/ObjectModelException
      // try (5 -> 20): 20 com/l7tech/objectmodel/ObjectModelException
      // try (3 -> 10): 11 com/l7tech/objectmodel/ObjectModelException
      // try (22 -> 137): 138 com/l7tech/objectmodel/ObjectModelException
      // try (22 -> 137): 138 java/io/IOException
   }

   public Goid saveAlias(PublishedServiceAlias var1) throws UpdateException, SaveException, VersionException {
      try {
         Goid var2;
         if (!Goid.isDefault(var1.getGoid())) {
            var2 = var1.getGoid();
            Logger var10000 = this.v;
            String var10001 = var2.toHexString();
            String[] var4 = w;
            var10000.fine(var4[31] + var10001);
            this.e.update(var1);
         } else {
            this.v.fine(w[12]);
            var2 = this.e.save(var1);
         }

         return var2;
      } catch (UpdateException var5) {
         throw var5;
      } catch (SaveException var6) {
         throw var6;
      }
   }

   public Goid savePublishedServiceWithDocuments(PublishedService var1, Collection<ServiceDocument> var2) throws UpdateException, SaveException, VersionException, PolicyAssertionException {
      boolean var4 = true;
      if (!Goid.isDefault(var1.getGoid())) {
         var4 = false;
      }

      try {
         var1.parseWsdlStrategy(new ServiceDocumentWsdlStrategy(var2));
         if (!this.t.isWsdlUpdatePermitted(var1)) {
            throw new UpdateException(w[13]);
         }
      } catch (FindException var13) {
         throw a(var13);
      }

      Goid var3 = this.a(var1, false);

      try {
         for (ServiceDocument var7 : this.h.findByServiceId(var3)) {
            this.h.delete(var7);
         }

         for (ServiceDocument var17 : var2) {
            var17.setGoid(ServiceDocument.DEFAULT_GOID);
            var17.setServiceId(var3);
            this.h.save(var17);
         }

         return var3;
      } catch (FindException var11) {
         String var19 = var11.getMessage();
         String[] var18 = w;
         String var14 = var18[0] + var19 + var18[10];

         try {
            if (var4) {
               throw new SaveException(var14);
            }
         } catch (FindException var10) {
            throw a(var10);
         }

         throw new UpdateException(var14);
      } catch (DeleteException var12) {
         String var10000 = var12.getMessage();
         String[] var8 = w;
         String var6 = var8[3] + var10000 + var8[20];

         try {
            if (var4) {
               throw new SaveException(var6);
            }
         } catch (FindException var9) {
            throw a(var9);
         }

         throw new UpdateException(var6);
      }
   }

   public void setTracingEnabled(Goid var1, boolean var2) throws UpdateException {
      try {
         PublishedService var3 = (PublishedService)this.d.findByPrimaryKey(var1);
         var3.setTracingEnabled(var2);
         this.d.update(var3);
      } catch (FindException var5) {
         String var10002 = var1.toHexString();
         String var10003 = ExceptionUtils.getMessage(var5);
         String[] var4 = w;
         throw new UpdateException(var4[33] + var10002 + var4[4] + var10003, var5);
      }
   }

   public void deletePublishedService(String var1) throws DeleteException {
      try {
         Goid var3 = a(var1);

         for (PublishedServiceAlias var6 : this.e.findAllAliasesForEntity(var3)) {
            this.e.delete(var6);
         }

         PublishedService var2 = (PublishedService)this.d.findByPrimaryKey(var3);
         this.d.delete(var2);
         Logger var10000 = this.v;
         String var10001 = String.valueOf(var3);
         String[] var7 = w;
         var10000.info(var7[24] + var10001);
      } catch (FindException var8) {
         throw new DeleteException(w[19], var8);
      }
   }

   public void deleteEntityAlias(String var1) throws DeleteException {
      try {
         Goid var3 = a(var1);
         PublishedServiceAlias var2 = (PublishedServiceAlias)this.e.findByPrimaryKey(var3);
         this.e.delete(var2);
         Logger var10000 = this.v;
         String var10001 = String.valueOf(var3);
         String[] var4 = w;
         var10000.info(var4[27] + var10001);
      } catch (FindException var5) {
         throw new DeleteException(w[28], var5);
      }
   }

   private ServiceHeader[] a(Collection<ServiceHeader> var1) {
      try {
         if (var1 == null) {
            return a;
         }
      } catch (ClassCastException var8) {
         throw a(var8);
      }

      ServiceHeader[] var2 = new ServiceHeader[var1.size()];
      int var3 = 0;

      for (ServiceHeader var5 : var1) {
         try {
            var2[var3] = var5;
         } catch (ClassCastException var7) {
            this.v.log(Level.SEVERE, null, var7);
            throw new RuntimeException(w[14], var7);
         }

         var3++;
      }

      return var2;
   }

   public UDDINamedEntity[] findPoliciesFromUDDIRegistry(Goid var1, String var2) throws FindException {
      UDDIRegistry var3 = this.s.findByPrimaryKey(var1);

      try {
         if (var3 == null) {
            throw new FindException(w[8] + var1);
         }
      } catch (FindException var4) {
         throw a(var4);
      }

      return this.a(var3, new q(this, var2));
   }

   private void a(UDDINamedEntity[] var1) {
      Arrays.sort(var1, new ResolvingComparator(new r(this), false));
   }

   public JobId<WsdlPortInfo[]> findWsdlInfosForSingleBusinessService(Goid var1, String var2, boolean var3) throws FindException {
      return this.q.registerJob(this.r.submit(AdminInfo.find(false).wrapCallable(new s(this, var1, var2, var3))), WsdlPortInfo[].class);
   }

   public JobId<WsdlPortInfo[]> findWsdlInfosFromUDDIRegistry(Goid var1, String var2, boolean var3, boolean var4) {
      return this.q.registerJob(this.r.submit(AdminInfo.find(false).wrapCallable(new h(this, var1, var2, var3, var4))), WsdlPortInfo[].class);
   }

   public JobId<UDDINamedEntity[]> findBusinessesFromUDDIRegistry(Goid var1, String var2, boolean var3) {
      return this.q.registerJob(this.r.submit(AdminInfo.find(false).wrapCallable(new k(this, var1, var2, var3))), UDDINamedEntity[].class);
   }

   private FindException a(UDDIException param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 04: getstatic com/l7tech/server/service/ServiceAdminImpl.w [Ljava/lang/String;
      // 07: astore 3
      // 08: aload 3
      // 09: bipush 2
      // 0a: aaload
      // 0b: swap
      // 0c: ldc "."
      // 0e: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 13: astore 2
      // 14: aload 1
      // 15: ldc java/net/MalformedURLException
      // 17: invokestatic com/l7tech/util/ExceptionUtils.causedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Z
      // 1a: ifne 6d
      // 1d: aload 1
      // 1e: ldc java/net/URISyntaxException
      // 20: invokestatic com/l7tech/util/ExceptionUtils.causedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Z
      // 23: ifne 6d
      // 26: goto 2d
      // 29: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2c: athrow
      // 2d: aload 1
      // 2e: ldc java/net/UnknownHostException
      // 30: invokestatic com/l7tech/util/ExceptionUtils.causedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Z
      // 33: ifne 6d
      // 36: goto 3d
      // 39: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3c: athrow
      // 3d: aload 1
      // 3e: ldc java/net/ConnectException
      // 40: invokestatic com/l7tech/util/ExceptionUtils.causedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Z
      // 43: ifne 6d
      // 46: goto 4d
      // 49: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4c: athrow
      // 4d: aload 1
      // 4e: ldc java/net/SocketTimeoutException
      // 50: invokestatic com/l7tech/util/ExceptionUtils.causedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Z
      // 53: ifne 6d
      // 56: goto 5d
      // 59: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5c: athrow
      // 5d: aload 1
      // 5e: ldc java/net/SocketException
      // 60: invokestatic com/l7tech/util/ExceptionUtils.causedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Z
      // 63: ifeq 96
      // 66: goto 6d
      // 69: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6c: athrow
      // 6d: aload 2
      // 6e: aload 1
      // 6f: invokestatic com/l7tech/util/ExceptionUtils.unnestToRoot (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 72: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 75: getstatic com/l7tech/server/service/ServiceAdminImpl.w [Ljava/lang/String;
      // 78: bipush 17
      // 7a: aaload
      // 7b: swap
      // 7c: ldc "'"
      // 7e: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001" ]
      // 83: astore 2
      // 84: aload 0
      // 85: getfield com/l7tech/server/service/ServiceAdminImpl.v Ljava/util/logging/Logger;
      // 88: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 8b: aload 2
      // 8c: aload 1
      // 8d: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 90: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 93: goto a5
      // 96: aload 0
      // 97: getfield com/l7tech/server/service/ServiceAdminImpl.v Ljava/util/logging/Logger;
      // 9a: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 9d: aload 2
      // 9e: aload 1
      // 9f: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // a2: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // a5: new com/l7tech/objectmodel/FindException
      // a8: dup
      // a9: aload 2
      // aa: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;)V
      // ad: areturn
      // try (11 -> 19): 20 java/lang/RuntimeException
      // try (15 -> 26): 27 java/lang/RuntimeException
      // try (22 -> 33): 34 java/lang/RuntimeException
      // try (29 -> 40): 41 java/lang/RuntimeException
      // try (36 -> 47): 48 java/lang/RuntimeException
   }

   private <T> T a(UDDIRegistry var1, UnaryThrows<T, UDDIClient, UDDIException> var2) throws FindException {
      UDDIClient var3 = null;

      try {
         var3 = this.c.newUDDIClient(var1);
         return (T)var2.call(var3);
      } catch (UDDIException var8) {
         throw this.a(var8);
      } finally {
         ResourceUtils.closeQuietly(var3);
      }
   }

   public SampleMessage findSampleMessageById(Goid var1) throws FindException {
      return (SampleMessage)this.g.findByPrimaryKey(var1);
   }

   public EntityHeader[] findSampleMessageHeaders(Goid var1, String var2) throws FindException {
      return this.g.findHeaders(var1, var2);
   }

   public Goid saveSampleMessage(SampleMessage var1) throws SaveException {
      Goid var2 = var1.getGoid();
      if (SampleMessage.DEFAULT_GOID.equals(var1.getGoid())) {
         var2 = this.g.save(var1);
      } else {
         try {
            this.g.update(var1);
         } catch (UpdateException var4) {
            throw new SaveException(w[15], var4.getCause());
         }
      }

      return var2;
   }

   public void deleteSampleMessage(SampleMessage var1) throws DeleteException {
      this.g.delete(var1);
   }

   public Set<ServiceTemplate> findAllTemplates() {
      return this.l.findAll();
   }

   public ServiceTemplate createSecurityTokenServiceTemplate(String var1) {
      return this.n.createServiceTemplate(var1);
   }

   public ResolutionReport generateResolutionReport(PublishedService param1, Collection<ServiceDocument> param2) throws FindException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 2
      // 001: ifnull 017
      // 004: aload 1
      // 005: new com/l7tech/gateway/common/service/ServiceDocumentWsdlStrategy
      // 008: dup
      // 009: aload 2
      // 00a: invokespecial com/l7tech/gateway/common/service/ServiceDocumentWsdlStrategy.<init> (Ljava/util/Collection;)V
      // 00d: invokevirtual com/l7tech/gateway/common/service/PublishedService.parseWsdlStrategy (Lcom/l7tech/gateway/common/service/PublishedService$WsdlStrategy;)V
      // 010: goto 017
      // 013: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 016: athrow
      // 017: aload 0
      // 018: getfield com/l7tech/server/service/ServiceAdminImpl.p Lcom/l7tech/server/transport/ResolutionConfigurationManager;
      // 01b: getstatic com/l7tech/server/service/ServiceAdminImpl.w [Ljava/lang/String;
      // 01e: bipush 22
      // 020: aaload
      // 021: invokeinterface com/l7tech/server/transport/ResolutionConfigurationManager.findByUniqueName (Ljava/lang/String;)Lcom/l7tech/objectmodel/PersistentEntity; 2
      // 026: checkcast com/l7tech/gateway/common/transport/ResolutionConfiguration
      // 029: astore 3
      // 02a: aload 3
      // 02b: ifnull 044
      // 02e: aload 3
      // 02f: invokevirtual com/l7tech/gateway/common/transport/ResolutionConfiguration.isPathRequired ()Z
      // 032: ifeq 044
      // 035: goto 03c
      // 038: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 03b: athrow
      // 03c: bipush 1
      // 03d: goto 045
      // 040: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 043: athrow
      // 044: bipush 0
      // 045: istore 4
      // 047: new java/util/ArrayList
      // 04a: dup
      // 04b: invokespecial java/util/ArrayList.<init> ()V
      // 04e: astore 5
      // 050: aload 0
      // 051: getfield com/l7tech/server/service/ServiceAdminImpl.o Lcom/l7tech/server/service/ServiceCache;
      // 054: aload 1
      // 055: invokevirtual com/l7tech/server/service/ServiceCache.checkResolution (Lcom/l7tech/gateway/common/service/PublishedService;)V
      // 058: goto 0f4
      // 05b: astore 6
      // 05d: aload 6
      // 05f: invokevirtual com/l7tech/server/service/resolution/NonUniqueServiceResolutionException.getConflictingServices ()Ljava/util/Set;
      // 062: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 067: astore 7
      // 069: aload 7
      // 06b: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 070: ifeq 0e2
      // 073: aload 7
      // 075: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 07a: checkcast com/l7tech/objectmodel/Goid
      // 07d: astore 8
      // 07f: aload 6
      // 081: aload 8
      // 083: invokevirtual com/l7tech/server/service/resolution/NonUniqueServiceResolutionException.getParameters (Lcom/l7tech/objectmodel/Goid;)Ljava/util/Set;
      // 086: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 08b: astore 9
      // 08d: aload 9
      // 08f: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 094: ifeq 0df
      // 097: aload 9
      // 099: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 09e: checkcast com/l7tech/util/Triple
      // 0a1: astore 10
      // 0a3: aload 5
      // 0a5: new com/l7tech/gateway/common/service/ServiceAdmin$ConflictInfo
      // 0a8: dup
      // 0a9: aload 10
      // 0ab: getfield com/l7tech/util/Triple.left Ljava/lang/Object;
      // 0ae: checkcast java/lang/String
      // 0b1: aload 6
      // 0b3: aload 8
      // 0b5: bipush 1
      // 0b6: invokevirtual com/l7tech/server/service/resolution/NonUniqueServiceResolutionException.getServiceName (Lcom/l7tech/objectmodel/Goid;Z)Ljava/lang/String;
      // 0b9: aload 6
      // 0bb: aload 8
      // 0bd: bipush 0
      // 0be: invokevirtual com/l7tech/server/service/resolution/NonUniqueServiceResolutionException.getServiceName (Lcom/l7tech/objectmodel/Goid;Z)Ljava/lang/String;
      // 0c1: aload 8
      // 0c3: aload 10
      // 0c5: getfield com/l7tech/util/Triple.right Ljava/lang/Object;
      // 0c8: checkcast java/lang/String
      // 0cb: aload 10
      // 0cd: getfield com/l7tech/util/Triple.middle Ljava/lang/Object;
      // 0d0: checkcast java/lang/String
      // 0d3: invokespecial com/l7tech/gateway/common/service/ServiceAdmin$ConflictInfo.<init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/l7tech/objectmodel/Goid;Ljava/lang/String;Ljava/lang/String;)V
      // 0d6: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // 0db: pop
      // 0dc: goto 08d
      // 0df: goto 069
      // 0e2: goto 0f4
      // 0e5: astore 6
      // 0e7: new com/l7tech/objectmodel/FindException
      // 0ea: dup
      // 0eb: aload 6
      // 0ed: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 0f0: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;)V
      // 0f3: athrow
      // 0f4: new com/l7tech/gateway/common/service/ServiceAdmin$ResolutionReport
      // 0f7: dup
      // 0f8: aload 1
      // 0f9: invokevirtual com/l7tech/gateway/common/service/PublishedService.getRoutingUri ()Ljava/lang/String;
      // 0fc: ifnonnull 10b
      // 0ff: iload 4
      // 101: ifne 10f
      // 104: goto 10b
      // 107: invokestatic com/l7tech/server/service/ServiceAdminImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 10a: athrow
      // 10b: bipush 1
      // 10c: goto 110
      // 10f: bipush 0
      // 110: aload 5
      // 112: aload 5
      // 114: invokeinterface java/util/Collection.size ()I 1
      // 119: anewarray 912
      // 11c: invokeinterface java/util/Collection.toArray ([Ljava/lang/Object;)[Ljava/lang/Object; 2
      // 121: checkcast [Lcom/l7tech/gateway/common/service/ServiceAdmin$ConflictInfo;
      // 124: invokespecial com/l7tech/gateway/common/service/ServiceAdmin$ResolutionReport.<init> (Z[Lcom/l7tech/gateway/common/service/ServiceAdmin$ConflictInfo;)V
      // 127: areturn
      // try (21 -> 29): 29 com/l7tech/server/service/resolution/NonUniqueServiceResolutionException
      // try (19 -> 24): 25 com/l7tech/server/service/resolution/NonUniqueServiceResolutionException
      // try (0 -> 8): 9 com/l7tech/server/service/resolution/NonUniqueServiceResolutionException
      // try (37 -> 41): 42 com/l7tech/server/service/resolution/NonUniqueServiceResolutionException
      // try (37 -> 41): 93 com/l7tech/server/service/resolution/ServiceResolutionException
      // try (100 -> 107): 108 com/l7tech/server/service/resolution/NonUniqueServiceResolutionException
   }

   public ResolutionReport generateResolutionReportForNewService(PublishedService var1, Collection<ServiceDocument> var2) throws FindException {
      try {
         if (!Goid.isDefault(var1.getGoid())) {
            throw new FindException(w[25]);
         }
      } catch (FindException var3) {
         throw a(var3);
      }

      ServiceAdminImpl var10000;
      PublishedService var10001;
      try {
         var10000 = this;
         var10001 = var1;
         if (var2 == null) {
            return this.generateResolutionReport(var1, Collections.emptyList());
         }
      } catch (FindException var4) {
         throw a(var4);
      }

      return var10000.generateResolutionReport(var10001, var2);
   }

   public PublishedService findByAlias(Goid var1) throws FindException {
      PublishedService var2 = null;
      PublishedServiceAlias var3 = (PublishedServiceAlias)this.e.findByPrimaryKey(var1);
      if (var3 != null) {
         var2 = this.findServiceByID(String.valueOf(var3.getEntityGoid()));
      }

      return var2;
   }

   private static Goid a(String var0) throws FindException {
      try {
         if (var0 == null) {
            throw new FindException(w[18]);
         }
      } catch (IllegalArgumentException var4) {
         throw a(var4);
      }

      try {
         return GoidUpgradeMapper.mapId(EntityType.SERVICE, var0);
      } catch (IllegalArgumentException var3) {
         String[] var2 = w;
         throw new FindException(var2[32] + var0 + var2[20], var3);
      }
   }

   protected void initDao() throws Exception {
      try {
         if (this.d == null) {
            throw new IllegalArgumentException(w[6]);
         }
      } catch (Exception var2) {
         throw a(var2);
      }

      try {
         if (this.f == null) {
            throw new IllegalArgumentException(w[21]);
         }
      } catch (Exception var1) {
         throw a(var1);
      }
   }

   public String getPolicyURL(String var1, boolean var2) throws FindException {
      return this.c.getExternalPolicyUrlForService(a(var1), var2, false);
   }

   public String getConsumptionURL(String var1) throws FindException {
      return this.c.getExternalUrlForService(a(var1));
   }

   public Collection<UDDIRegistryInfo> getUDDIRegistryInfo() {
      return this.j.getTemplatesAsUDDIRegistryInfo();
   }

   public <OUT extends Serializable> String getJobStatus(JobId<OUT> var1) {
      return this.q.getJobStatus(var1);
   }

   public <OUT extends Serializable> JobResult<OUT> getJobResult(JobId<OUT> var1) throws UnknownJobException, JobStillActiveException {
      return this.q.getJobResult(var1);
   }

   public <OUT extends Serializable> void cancelJob(JobId<OUT> var1, boolean var2) {
      this.q.cancelJob(var1, var2);
   }

   public void destroy() throws Exception {
      try {
         if (this.r != null) {
            this.r.shutdown();
         }
      } catch (Exception var1) {
         throw a(var1);
      }
   }

   private Config a(Config var1) {
      ValidatedConfig var2 = new ValidatedConfig(var1, this.v, new m(this));
      var2.setMinimumValue(w[11], 1);
      return var2;
   }

   static {
      String[] var5 = new String[34];
      int var3 = 0;
      String var2 = "w\u0004;\u0005WrnW\u0002=\u0003K5)A\u0013;\u001cL1l\u0012\u0012&\tP?l\\\u0002:J\u0002%A\u0013;\u001c@ Y]\u001a \t\\\u0004h^\u001f-\u000bQ;f\\X$\u000b]\u0011f\\\u0015<\u0018W7gQ\u000f\u001fw\u0004;\u0005WrzW\u0017;\tM;gUV\u001c.a\u001b)@\u0013.\u0003V&{KLi%w\u0004;\u0005Wr{W\u001b&\u001cL<n\u0012\u0019%\u000e\u0005!l@\u0000 \t@rm]\u0015<\u0007@<}\u0012Q\u0002\bV q\u0017'\u0004J&)B\u0017;\u0019@ryS\u0005:\u000fArY]\u001a \t\\rQ\u007f:sJ\u001bA\u0013;\u001cL1l\u0012\u001b(\u0004D5l@V \u0019\u0005 lC\u0003 \u0018@6\n\u001eV?\u000fW!`]\u0018i\u0011{\u0018?\u000bI;m\u0012\u0004,\rL!}@\u000fi\u001bg\u0006-\u000bQ;gUV\u0019\u001fG>`A\u001e,\u000ev7{D\u001f*\u000f\u001fr\u0002\u0015X%A\u0013;\u001c@ Y]\u001a \t\\\u0004h^\u001f-\u000bQ;f\\X$\u000b]\u0011f\\\u0015<\u0018W7gQ\u000f a\u0017?\u0003K5)\\\u0013>Ju'k^\u001f:\u0002@6ZW\u0004?\u0003F7H^\u001f(\u0019Rq\u0017'\u0004J&)Q\u001e(\u0004B7)F\u001e,Jr\u0001M~V/\u0005Wrh\u0012&<\bI;zZ\u0013-Jv7{D\u001f*\u000f\u0005%aW\u0018i\u0003Q!)e%\r&\u0005;z\u0012\u0003'\u000e@ )g2\r#\u00051f\\\u0002;\u0005I8q\u0019%\u0006@1}[\u0019'JF=gF\u0017 \u0004@6)A\u0019$\u000fQ:`\\\u0011i\u0005Q:l@V=\u0002D<)SV\f\u0004Q;}K>,\u000bA7{&q\u0019<\u0006A<.FV<\u001aA3}WV,\u0012L!}[\u0018.Jv3dB\u001a,'@!zS\u0011,4g\u0018(\bI7)F\u0019i\u001fU6hF\u0013i\u0019@ \u007f[\u0015,P\u0005\"{W\u0000 \u0005P!)D\u0013;\u0019L=g\u0012\u0018&\u001e\u00054fG\u0018-\r\u001cV\n\u000bP!lVV+\u0013\u0005u#\u007f\u001f:\u0019L<n\u0012\u0004,\u001bP;{W\u0012i\u0019@ \u007f[\u0015,JL6l\\\u0002 \fL7{ q\u0019<\u0006Arg]\u0002i\fL<m\u0012\u0019+\u0000@1}\u0012\u0002&JA7eW\u0002,D\u0002\u0015X\u001cb\u0019%\u0003F+)d\u0017%\u0003A3}]\u0004i\u0003Vr{W\u0007<\u0003W7m\u0007v\u0013/\u000bP>}^g\u0018(\bI7)F\u0019i\u0019D$l\u0012\u0018,\u001d\u0005!l@\u0000 \t@r~[\u0002!J@*`A\u0002 \u0004Bry]\u001a \t\\~)]\u0004i\u001eJr|B\u0012(\u001e@rlJ\u001f:\u001eL<n\u0012\u0005,\u0018S;jWV>\u0003Q:)\\\u0013>JU=e[\u00150\u001av\u0013%\u000fQ7m\u0012&<\bI;zZ\u0013-9@ \u007f[\u0015,P\u0005\u001ea\u0013;\u001cL1l\u0012\u001b<\u0019Qrg]\u0002i\b@ryW\u0004:\u0003V&l\\\u0002\u0015`\u0013=\u001fW<`\\\u0011i\u0019@ \u007f[\u0015,JL6)\u001fv\u0013%\u000fQ7m\u0012&<\bI;zZ\u0013-9@ \u007f[\u0015,+I;hALi q\u0019<\u0006Arg]\u0002i\fL<m\u0012\u0019+\u0000@1}\u0012\u0002&JA7eW\u0002,D q\u0017'\u0004J&)B\u0017;\u0019@ryS\u0005:\u000fArY]\u001a \t\\rQ\u007f:sJ\u001ba\u0017?\u0003K5)\\\u0013>Ju'k^\u001f:\u0002@6ZW\u0004?\u0003F7 g\u0006-\u000bQ;gUV\u0019\u001fG>`A\u001e,\u000ev7{D\u001f*\u000fd>`S\u0005sJ";
      int var4 = "w\u0004;\u0005WrnW\u0002=\u0003K5)A\u0013;\u001cL1l\u0012\u0012&\tP?l\\\u0002:J\u0002%A\u0013;\u001c@ Y]\u001a \t\\\u0004h^\u001f-\u000bQ;f\\X$\u000b]\u0011f\\\u0015<\u0018W7gQ\u000f\u001fw\u0004;\u0005WrzW\u0017;\tM;gUV\u001c.a\u001b)@\u0013.\u0003V&{KLi%w\u0004;\u0005Wr{W\u001b&\u001cL<n\u0012\u0019%\u000e\u0005!l@\u0000 \t@rm]\u0015<\u0007@<}\u0012Q\u0002\bV q\u0017'\u0004J&)B\u0017;\u0019@ryS\u0005:\u000fArY]\u001a \t\\rQ\u007f:sJ\u001bA\u0013;\u001cL1l\u0012\u001b(\u0004D5l@V \u0019\u0005 lC\u0003 \u0018@6\n\u001eV?\u000fW!`]\u0018i\u0011{\u0018?\u000bI;m\u0012\u0004,\rL!}@\u000fi\u001bg\u0006-\u000bQ;gUV\u0019\u001fG>`A\u001e,\u000ev7{D\u001f*\u000f\u001fr\u0002\u0015X%A\u0013;\u001c@ Y]\u001a \t\\\u0004h^\u001f-\u000bQ;f\\X$\u000b]\u0011f\\\u0015<\u0018W7gQ\u000f a\u0017?\u0003K5)\\\u0013>Ju'k^\u001f:\u0002@6ZW\u0004?\u0003F7H^\u001f(\u0019Rq\u0017'\u0004J&)Q\u001e(\u0004B7)F\u001e,Jr\u0001M~V/\u0005Wrh\u0012&<\bI;zZ\u0013-Jv7{D\u001f*\u000f\u0005%aW\u0018i\u0003Q!)e%\r&\u0005;z\u0012\u0003'\u000e@ )g2\r#\u00051f\\\u0002;\u0005I8q\u0019%\u0006@1}[\u0019'JF=gF\u0017 \u0004@6)A\u0019$\u000fQ:`\\\u0011i\u0005Q:l@V=\u0002D<)SV\f\u0004Q;}K>,\u000bA7{&q\u0019<\u0006A<.FV<\u001aA3}WV,\u0012L!}[\u0018.Jv3dB\u001a,'@!zS\u0011,4g\u0018(\bI7)F\u0019i\u001fU6hF\u0013i\u0019@ \u007f[\u0015,P\u0005\"{W\u0000 \u0005P!)D\u0013;\u0019L=g\u0012\u0018&\u001e\u00054fG\u0018-\r\u001cV\n\u000bP!lVV+\u0013\u0005u#\u007f\u001f:\u0019L<n\u0012\u0004,\u001bP;{W\u0012i\u0019@ \u007f[\u0015,JL6l\\\u0002 \fL7{ q\u0019<\u0006Arg]\u0002i\fL<m\u0012\u0019+\u0000@1}\u0012\u0002&JA7eW\u0002,D\u0002\u0015X\u001cb\u0019%\u0003F+)d\u0017%\u0003A3}]\u0004i\u0003Vr{W\u0007<\u0003W7m\u0007v\u0013/\u000bP>}^g\u0018(\bI7)F\u0019i\u0019D$l\u0012\u0018,\u001d\u0005!l@\u0000 \t@r~[\u0002!J@*`A\u0002 \u0004Bry]\u001a \t\\~)]\u0004i\u001eJr|B\u0012(\u001e@rlJ\u001f:\u001eL<n\u0012\u0005,\u0018S;jWV>\u0003Q:)\\\u0013>JU=e[\u00150\u001av\u0013%\u000fQ7m\u0012&<\bI;zZ\u0013-9@ \u007f[\u0015,P\u0005\u001ea\u0013;\u001cL1l\u0012\u001b<\u0019Qrg]\u0002i\b@ryW\u0004:\u0003V&l\\\u0002\u0015`\u0013=\u001fW<`\\\u0011i\u0019@ \u007f[\u0015,JL6)\u001fv\u0013%\u000fQ7m\u0012&<\bI;zZ\u0013-9@ \u007f[\u0015,+I;hALi q\u0019<\u0006Arg]\u0002i\fL<m\u0012\u0019+\u0000@1}\u0012\u0002&JA7eW\u0002,D q\u0017'\u0004J&)B\u0017;\u0019@ryS\u0005:\u000fArY]\u001a \t\\rQ\u007f:sJ\u001ba\u0017?\u0003K5)\\\u0013>Ju'k^\u001f:\u0002@6ZW\u0004?\u0003F7 g\u0006-\u000bQ;gUV\u0019\u001fG>`A\u001e,\u000ev7{D\u001f*\u000fd>`S\u0005sJ"
         .length();
      char var1 = '!';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 105;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = a(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     w = var5;
                     a = new ServiceHeader[0];
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var8;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "H+\f8z\b^!6\u001f+`\bYde\u0013=s\u000fNh#\u0013<dA\u001d!T+\u001b;z\u0004\u001au*Z?\u007f\u000f^!6\u001f+`\bYde\r0b\t\u001af*\u0013=6";
                  var4 = "H+\f8z\b^!6\u001f+`\bYde\u0013=s\u000fNh#\u0013<dA\u001d!T+\u001b;z\u0004\u001au*Z?\u007f\u000f^!6\u001f+`\bYde\r0b\t\u001af*\u0013=6"
                     .length();
                  var1 = 28;
                  var7 = -1;
            }

            var10000 = 90;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

   private static Exception a(Exception var0) {
      return var0;
   }

   private static char[] b(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 96);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 91;
            case 1 -> 31;
            case 2 -> 32;
            case 3 -> 3;
            case 4 -> 76;
            case 5 -> 59;
            default -> 96;
         });
      }

      return new String(var10001).intern();
   }
}
