Jump to content

Serialise NonNullList to JSON


Zeher_Monkey

Recommended Posts

Im am trying to save a NonNullList<ItemStack> from inside a class. I can serialise normal values, like Integers Booleans etc, even Maps. 

 

I get this error:

at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:158)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)

When i add the NonNullList to the class:

@SerializedName("stacks")
	public NonNullList<ItemStack> stacks = NonNullList.<ItemStack>withSize(9, ItemStack.EMPTY);

 

Here is my save to JSON:

public static void saveBackLinkMap(Map<BlockPos, Pocket> backLinkMap) {
		try {
			File registryFile = getConfig(backLinkFile);

			Collection<Pocket> values = backLinkMap.values();
			Pocket[] tempArray = values.toArray(new Pocket[values.size()]);

			try (FileWriter writer = new FileWriter(registryFile)) {
				GSON.toJson(tempArray, writer);
				writer.flush();
			}

		} catch (Exception e) {
			DimLogger.severe("Error when saving backLinkFile", e);
		}
	}

And my load from JSON:

public static Map<BlockPos, Pocket> loadBackLinkMap() {
		Map<BlockPos, Pocket> backLinkMap = new HashMap<>();
		try {
			File registryFile = getConfig(backLinkFile);

			Pocket[] tempArray = null;
			try (FileReader reader = new FileReader(registryFile)) {
				tempArray = GSON.fromJson(reader, Pocket[].class);
			}

			if (tempArray != null) {
				for (Pocket link : tempArray) {
					backLinkMap.put(link.getChunkPos(), link);
				}
			}

		} catch (Exception e) {
			DimLogger.severe("Error when loading backLinkFile", e);
		}

		return backLinkMap;
	}

As soon as i load into the world the game crashes and gives me the above error. I'm not sure how to get this to work. I'm trying to access the Itemstack from multiple places across dimensions. I can access the integer values etc fine, but GSON can't seem to serialise this.

Link to comment
Share on other sites

 

---- Minecraft Crash Report ----
// Don't do that.

Time: 7/8/20 8:30 AM
Description: Exception in server tick loop

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Dimensional Pockets II (dimensionalpocketsii)
Caused by: java.lang.StackOverflowError
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:383)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:378)
	at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:358)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:158)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
	at com.google.gson.Gson.getAdapter(Gson.java:423)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------


The above is all i get.

This is my whole class that deals with saving to JSON:

package com.zeher.dimensionalpockets.pocket;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.zeher.dimensionalpockets.core.util.DimLogger;
import com.zeher.dimensionalpockets.pocket.PocketRegistry.PocketGenParameters;

import net.minecraft.server.MinecraftServer;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.common.FMLCommonHandler;

public class PocketConfig {

	private static Gson GSON = new GsonBuilder().setPrettyPrinting().create();

	private static final String backLinkFile = "teleportRegistry";
	private static final String pocketGenParamsFile = "pocketGenParameters";
	
	private static File getConfig(String fileName) throws IOException {
		MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance().getServer();
		StringBuilder pathName = new StringBuilder();

		if (server.isSinglePlayer()) {
			pathName.append("saves/");
		}

		pathName.append(server.getFolderName());
		pathName.append("/dimpockets/");
		pathName.append(fileName);
		pathName.append(".json");

		File savefile = server.getFile(pathName.toString());
		if (!savefile.exists()) {
			savefile.getParentFile().mkdirs();
			savefile.createNewFile();
		}
		return savefile;
	}

	public static void saveBackLinkMap(Map<BlockPos, Pocket> backLinkMap) {
		try {
			File registryFile = getConfig(backLinkFile);

			Collection<Pocket> values = backLinkMap.values();
			Pocket[] tempArray = values.toArray(new Pocket[values.size()]);

			try (FileWriter writer = new FileWriter(registryFile)) {
				GSON.toJson(tempArray, writer);
				writer.flush();
			}

		} catch (Exception e) {
			DimLogger.severe("Error when saving backLinkFile", e);
		}
	}

	public static Map<BlockPos, Pocket> loadBackLinkMap() {
		Map<BlockPos, Pocket> backLinkMap = new HashMap<>();
		try {
			File registryFile = getConfig(backLinkFile);

			Pocket[] tempArray = null;
			try (FileReader reader = new FileReader(registryFile)) {
				tempArray = GSON.fromJson(reader, Pocket[].class);
			}

			if (tempArray != null) {
				for (Pocket link : tempArray) {
					backLinkMap.put(link.getChunkPos(), link);
				}
			}

		} catch (Exception e) {
			DimLogger.severe("Error when loading backLinkFile", e);
		}

		return backLinkMap;
	}

	public static void savePocketGenParams(PocketGenParameters pocketGenParameters) {
		try {
			File dataFile = getConfig(pocketGenParamsFile);

			try (FileWriter writer = new FileWriter(dataFile)) {
				GSON.toJson(pocketGenParameters, writer);
			}
		} catch (Exception e) {
			DimLogger.severe("Error when saving pocketGenParamsFile", e);
		}
	}

	public static PocketGenParameters loadPocketGenParams() {
		try {
			File dataFile = getConfig(pocketGenParamsFile);

			if (dataFile.exists()) {
				try (FileReader dataReader = new FileReader(dataFile)) {
					PocketGenParameters pocketGenParams = GSON.fromJson(dataReader, PocketGenParameters.class);
					if (pocketGenParams != null)
						return pocketGenParams;
				}
			}
		} catch (Exception e) {
			DimLogger.severe("Error when loading pocketGenParamsFile", e);
		}
		return new PocketGenParameters();
	}
}



How would I go about telling GSON how to serialize an ItemStack? I know that MC stores the players inventory in the level.dat file, but cannot find how it does it.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.