Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The server failed to resume the transaction. Desc:3600000005. #8394

Closed
Alwigi opened this issue Jul 22, 2021 · 23 comments · Fixed by prisma/prisma-engines#2146
Closed

The server failed to resume the transaction. Desc:3600000005. #8394

Alwigi opened this issue Jul 22, 2021 · 23 comments · Fixed by prisma/prisma-engines#2146
Assignees
Labels
bug/0-unknown Bug is new, does not have information for reproduction or reproduction could not be confirmed. kind/bug A reported bug. team/schema Issue for team Schema. topic: sql server Microsoft SQL Server
Milestone

Comments

@Alwigi
Copy link

Alwigi commented Jul 22, 2021

Hi Prisma Team! My Prisma Client just crashed.

My code below does the SQL Server updates just fine if sent with some time between calls, when several are received in a short space of time I receive the error below.
Currently I consistently experience the problem when sending 6 or more requests simultaneously, some will work, some will return the error below, generally more than half the requests fail and the ones that do fail are random ie. not the same records every time.

This is the report:

Versions

Name Version
Node v12.15.0
OS windows
Prisma Client 2.25.0
Query Engine query-engine c838e79f39885bc8e1611849b1eb28b5bb5bc922
Database undefined

Query

mutation {
  updateOneProjectTask(
    where: {
      PRT_IRN: 5
    }
    data: {
      PRT_PRT_IRN: null
      PRT_NAME: "X"
      PRT_START: "X"
      PRT_END: "X"
      PRT_ORDER: 5
      PRT_PROGRESS: 5
      PRT_SUMMARY: false
      PRT_EXPANDED: true
      PRT_TAGS: null
      PRT_LEAD_USR_IRN: null
    }
  ) {
    PRT_IRN
    PRT_PRJ_IRN
    PRT_FLAGDELETE
    PRT_PRT_IRN
    PRT_NAME
    PRT_START
    PRT_END
    PRT_ORDER
    PRT_PROGRESS
    PRT_SUMMARY
    PRT_EXPANDED
    PRT_TAGS
    PRT_LEAD_USR_IRN
  }
}

Logs

8;5;78;1mprisma:engine       at async updateProjectTask (F:\Dev\Project\Source\server\api\schema\resolvers\projecttask.js:131:19)
  prisma:engine       at async graphqlMiddleware (F:\Dev\Project\Source\server\api\node_modules\express-graphql\index.js:125:26) {
  prisma:engine     clientVersion: '2.25.0'
  prisma:engine   }
  prisma:engine }  
  prisma:engine stdout  The transaction active in this session has been committed or aborted by another session.  
  prisma:engine stdout  The server failed to resume the transaction. Desc:3600000005.  
  prisma:engine {
  prisma:engine   error: PrismaClientUnknownRequestError2 [PrismaClientUnknownRequestError]: Error in connector: Error querying the database: 'The server failed to resume the transaction. Desc:3600000005.' on server DEV4\SQLSERVER2017STD executing  on line 1 (code: 3971, state: 1, class: 16)
  prisma:engine       at NodeEngine.graphQLToJSError (F:\Dev\Project\Source\server\api\node_modules\@prisma\client\runtime\index.js:28016:14)
  prisma:engine       at NodeEngine.request (F:\Dev\Project\Source\server\api\node_modules\@prisma\client\runtime\index.js:27912:24)
  prisma:engine       at processTicksAndRejections (internal/process/task_queues.js:94:5)
  prisma:engine       at async cb (F:\Dev\Project\Source\server\api\node_modules\@prisma\client\runtime\index.js:33786:26)
  prisma:engine       at async updateProjectTask (F:\Dev\Project\Source\server\api\schema\resolvers\projecttask.js:131:19)
  prisma:engine       at async graphqlMiddleware (F:\Dev\Project\Source\server\api\node_modules\express-graphql\index.js:125:26) {
  prisma:engine     clientVersion: '2.25.0'
  prisma:engine   }
  prisma:engine }  
  prisma:engine stdout  The transaction active in this session has been committed or aborted by another session.  
  prisma:engine stdout  The server failed to resume the transaction. Desc:3600000005.  
  prisma:engine {
  prisma:engine   error: PrismaClientUnknownRequestError2 [PrismaClientUnknownRequestError]: Error in connector: Error querying the database: 'The server failed to resume the transaction. Desc:3600000005.' on server DEV4\SQLSERVER2017STD executing  on line 1 (code: 3971, state: 1, class: 16)
  prisma:engine       at NodeEngine.graphQLToJSError (F:\Dev\Project\Source\server\api\node_modules\@prisma\client\runtime\index.js:28016:14)
  prisma:engine       at NodeEngine.request (F:\Dev\Project\Source\server\api\node_modules\@prisma\client\runtime\index.js:27912:24)
  prisma:engine       at processTicksAndRejections (internal/process/task_queues.js:94:5)
  prisma:engine       at async cb (F:\Dev\Project\Source\server\api\node_modules\@prisma\client\runtime\index.js:33786:26)
  prisma:engine       at async updateProjectTask (F:\Dev\Project\Source\server\api\schema\resolvers\projecttask.js:131:19)
  prisma:engine       at async graphqlMiddleware (F:\Dev\Project\Source\server\api\node_modules\express-graphql\index.js:125:26) {
  prisma:engine     clientVersion: '2.25.0'
  prisma:engine   }
  prisma:engine }  
  prisma:engine stdout  The transaction active in this session has been committed or aborted by another session.  
  prisma:engine stdout  The server failed to resume the transaction. Desc:3600000005.  
  prisma:engine {
  prisma:engine   error: PrismaClientUnknownRequestError2 [PrismaClientUnknownRequestError]: Error in connector: Error querying the database: 'The server failed to resume the transaction. Desc:3600000005.' on server DEV4\SQLSERVER2017STD executing  on line 1 (code: 3971, state: 1, class: 16)
  prisma:engine       at NodeEngine.graphQLToJSError (F:\Dev\Project\Source\server\api\node_modules\@prisma\client\runtime\index.js:28016:14)
  prisma:engine       at NodeEngine.request (F:\Dev\Project\Source\server\api\node_modules\@prisma\client\runtime\index.js:27912:24)
  prisma:engine       at processTicksAndRejections (internal/process/task_queues.js:94:5)
  prisma:engine       at async cb (F:\Dev\Project\Source\server\api\node_modules\@prisma\client\runtime\index.js:33786:26)
  prisma:engine       at async updateProjectTask (F:\Dev\Project\Source\server\api\schema\resolvers\projecttask.js:131:19)
  prisma:engine       at async graphqlMiddleware (F:\Dev\Project\Source\server\api\node_modules\express-graphql\index.js:125:26) {
  prisma:engine     clientVersion: '2.25.0'
  prisma:engine   }
  prisma:engine }  

Client Snippet

    updateProjectTask: async function (_, { projectTask }, context) {

      const pts = await context.prisma.projectTask.update({
        where: { PRT_IRN: projectTask.PRT_IRN },
        data: {           
          PRT_PRT_IRN: projectTask.PRT_PRT_IRN,
          PRT_NAME: projectTask.PRT_NAME,
          PRT_START: projectTask.PRT_START,
          PRT_END: projectTask.PRT_END,
          PRT_ORDER: projectTask.PRT_ORDER,
          PRT_PROGRESS: projectTask.PRT_PROGRESS,
          PRT_SUMMARY: projectTask.PRT_SUMMARY,
          PRT_EXPANDED: projectTask.PRT_EXPANDED,
          PRT_TAGS: projectTask.PRT_TAGS,
          PRT_LEAD_USR_IRN: projectTask.PRT_LEAD_USR_IRN ? projectTask.PRT_LEAD_USR_IRN : null,
        }
      }) 
      return {} 
    }

Schema

generator client {
  provider = "prisma-client-js"
  previewFeatures = ["microsoftSqlServer"]
}

model Project {  
  PRJ_IRN       Int @id @default(autoincrement())
  PRJ_NAME      String  
  PRJ_DESC      String?
  PRJ_LEAD_USR_IRN    Int?
  PROJECTTASK         ProjectTask[]
  PROJECTRESOURCE     ProjectResource[]
  PROJECTLINK         ProjectLink[]
  PROJECTBUDGET       ProjectBudget[]
  USER_PROJECTLEAD    User? @relation(fields: [PRJ_LEAD_USR_IRN], references: [USR_IRN])
  @@map(name: "PROJECTS")
}

model ProjectBudget {
  BUD_IRN         Int @id @default(autoincrement())
  BUD_PRJ_IRN     Int  
  BUD_NAME        String
  BUD_COST        Float
  PROJECTRESOURCE   ProjectResource[]
  PROJECT           Project @relation(fields: [BUD_PRJ_IRN], references: [PRJ_IRN])    
  @@map(name: "PROJECT_BUDGETS")
}

model ProjectTask {
  PRT_IRN         Int @id @default(autoincrement())
  PRT_PRJ_IRN     Int
  PRT_FLAGDELETE  Boolean?
  PRT_PRT_IRN     Int?
  PRT_NAME        String
  PRT_START       DateTime
  PRT_END         DateTime
  PRT_ORDER       Int
  PRT_PROGRESS    Int
  PRT_SUMMARY       Boolean
  PRT_EXPANDED      Boolean
  PRT_TAGS          String?
  PRT_LEAD_USR_IRN  Int?
  PROJECTTASKASSIGNMENT ProjectTaskAssignment[]
  PROJECTTASKNOTE       ProjectTaskNote[]
  PROJECTLINK_SOURCE    ProjectLink[] @relation(name: "ProjectLink_Source")
  PROJECTLINK_TARGET    ProjectLink[] @relation(name: "ProjectLink_Target")
  PROJECT               Project @relation(fields: [PRT_PRJ_IRN], references: [PRJ_IRN])
  USER_PROJECTTASKLEAD  User? @relation(fields: [PRT_LEAD_USR_IRN], references: [USR_IRN])   
  @@map(name: "PROJECT_TASKS")
}

model ProjectTaskAssignment {
  PTA_IRN       Int @id @default(autoincrement())
  PTA_PRT_IRN   Int
  PTA_RES_IRN   Int
  PTA_FLAGDELETE  Boolean?
  PTA_VALUE       Float?
  PROJECTTASK     ProjectTask @relation(fields: [PTA_PRT_IRN], references: [PRT_IRN])
  PROJECTRESOURCE ProjectResource @relation(fields: [PTA_RES_IRN], references: [RES_IRN])
  @@map(name: "PROJECT_TASK_ASSIGNMENTS")
}

model ProjectTaskNote {
  PTN_IRN       Int @id @default(autoincrement())
  PTN_PRT_IRN   Int
  PTN_USR_IRN   Int
  PTN_DATE      DateTime
  PTN_NOTE      String
  PROJECTTASK     ProjectTask @relation(fields: [PTN_PRT_IRN], references: [PRT_IRN])
  USER            User @relation(fields: [PTN_USR_IRN], references: [USR_IRN])
  @@map(name: "PROJECT_TASK_NOTES")
}

model ProjectLink {
  PLI_IRN       Int @id @default(autoincrement())
  PLI_PRJ_IRN   Int
  PLI_FLAGDELETE  Boolean?
  PLI_SOURCE_PRT_IRN   Int
  PLI_TARGET_PRT_IRN   Int
  PLI_TYPE   Int
  PROJECT                 Project @relation(fields: [PLI_PRJ_IRN], references: [PRJ_IRN])  
  PROJECTTASK_SOURCE      ProjectTask @relation(name: "ProjectLink_Source", fields: [PLI_SOURCE_PRT_IRN], references: [PRT_IRN])
  PROJECTTASK_TARGET      ProjectTask @relation(name: "ProjectLink_Target", fields: [PLI_TARGET_PRT_IRN], references: [PRT_IRN])
  @@map(name: "PROJECT_LINKS")
}

model ProjectResource {
  RES_IRN       Int @id @default(autoincrement())
  RES_PRJ_IRN   Int
  RES_NAME      String
  RES_TYPE      String
  RES_BUD_IRN   Int?
  RES_UNIT      String
  RES_COST      Float?
  RES_PERUSECOST  Float?
  RES_CALCULATION String
  RES_COLOUR      String?
  RES_FLAGDELETE  Boolean?  
  RES_USR_IRN     Int?
  PROJECTTASKASSIGNMENT ProjectTaskAssignment[]
  PROJECT               Project @relation(fields: [RES_PRJ_IRN], references: [PRJ_IRN])
  PROJECTBUDGET         ProjectBudget? @relation(fields: [RES_BUD_IRN], references: [BUD_IRN])
  USER                  User? @relation(fields: [RES_USR_IRN], references: [USR_IRN])
  @@map(name: "PROJECT_RESOURCES")
}

model User {
  USR_IRN       Int @id @default(autoincrement())
  USR_USERID    String
  USR_NAME      String  
  USR_EMAIL     String?
  USR_PHONE     String?
  USR_TITLE     String?
  USR_SOURCE    String?
  USR_PHOTO     String?
  PROJECTRESOURCE   ProjectResource[]   
  PROJECT_LEAD      Project[]
  PROJECTTASK_LEAD  ProjectTask[]
  PROJECTTASKNOTE   ProjectTaskNote[]
  @@map(name: "USERS")
}

model Setting {  
  SET_KEY       String @id 
  SET_VALUE     String?    
  @@map(name: "SETTINGS")
}
@pantharshit00
Copy link
Contributor

pantharshit00 commented Jul 25, 2021

Hello, I am unable to reproduce this. Can you please tell me where your sql server instance is running(eg in docker or directly in the windows machine or in azure)?

Also, please try this again with the latest version once which is 2.27.0

@pantharshit00 pantharshit00 added bug/0-unknown Bug is new, does not have information for reproduction or reproduction could not be confirmed. kind/bug A reported bug. team/client Issue for team Client. topic: sql server Microsoft SQL Server labels Jul 25, 2021
@Alwigi
Copy link
Author

Alwigi commented Jul 26, 2021

Thanks, I'll try upgrading.
My SQL server is running locally on my dev box.
One thing I noticed, in order to replicate I had to call 'updateProjectTask' from a client using async calls in a loop (6 calls in my case) AND I had to update at least one field ie. something like below.

GraphQL:

    `async function() {
		
		let progress = 0
		let cnt = 0
		const prtIrn = [3058, 3059, 3060, 3061] //Updating the same four records in this loop

		for (let i = 0; i < 7; i++) {
			cnt++
			progress++
			if (cnt>3)
				cnt = 0

			const query = {query: `mutation updateProjectTask ($prt: ProjectTaskInput!) {
			            data: updateProjectTask(projectTask:$prt) {                          
			              PRT_IRN
			              PRT_PRJ_IRN
			              PRT_FLAGDELETE
			              PRT_PRT_IRN
			              PRT_NAME
			              PRT_START
			              PRT_END
			              PRT_ORDER
			              PRT_PROGRESS
			              PRT_SUMMARY
			              PRT_EXPANDED
			              PRT_TAGS
			              PRT_LEAD_USR_IRN
			              USER_PROJECTTASKLEAD {
			                  USR_IRN
			                  USR_NAME
			                  USR_PHOTOURL
			              }                     
			              PROJECTTASKASSIGNMENT {
			                  PTA_IRN
			                  PTA_PRT_IRN
			                  PTA_RES_IRN
			                  PTA_VALUE
			              }                    
			            }
			        }`,

			variables: {
			  "prt": {
			    "PRT_IRN": prtIrn[cnt],
			    "PRT_PRJ_IRN": 1,
			    "PRT_PRT_IRN": null,
			    "PRT_NAME": "ABC",
			    "PRT_START": "2021-07-20T23:00:00.000Z",
			    "PRT_END": "2021-07-21T22:00:00.000Z",
			    "PRT_ORDER": 1,
			    "PRT_PROGRESS": progress,
			    "PRT_SUMMARY": false,
			    "PRT_EXPANDED": true,
			    "PRT_TAGS": null,
			    "PRT_LEAD_USR_IRN": null,
			    "PROJECTTASKASSIGNMENT": []
			  }
			}
			
			axios.post('http://....', query)

		}
	}`

REST:

    `async function() {
		
		let progress = 0
		let cnt = 0
		const prtIrn = [3058, 3059, 3060, 3061] //Updating the same four records in this loop

		for (let i = 0; i < 7; i++) {
			cnt++
			progress++
			if (cnt>3)
				cnt = 0

			const data = {
			    PRT_PRJ_IRN: 23,
			    PRT_IRN: prtIrn[cnt],
			    PRT_PRT_IRN: null,
				    PRT_NAME: "bbb",
			    PRT_START: "2021-07-20T23:00:00.000Z",
			    PRT_END: "2021-07-21T22:00:00.000Z",
			    PRT_ORDER: 2,
			    PRT_PROGRESS: progress,
			    PRT_SUMMARY: false,
			    PRT_EXPANDED: true,
			    PRT_TAGS: null,
			    PRT_LEAD_USR_IRN: null,
		    }				
			
		    axios.post('http://....', "/project/task", data)

		}
	}`

using endpoint:
`
app.post('/project/task', async (req, res, next) => {

  try { 
    const pts = await req.prisma.projectTask.update({
      where: { PRT_IRN: req.body.PRT_IRN },
      data: {           
        PRT_PRT_IRN: req.body.PRT_PRT_IRN,
        PRT_NAME: req.body.PRT_NAME,
        PRT_START: req.body.PRT_START,
        PRT_END: req.body.PRT_END,
        PRT_ORDER: req.body.PRT_ORDER,
        PRT_PROGRESS: req.body.PRT_PROGRESS,
        PRT_SUMMARY: req.body.PRT_SUMMARY,
        PRT_EXPANDED: req.body.PRT_EXPANDED,
        PRT_TAGS: req.body.PRT_TAGS,
        PRT_LEAD_USR_IRN: req.body.PRT_LEAD_USR_IRN ? req.body.PRT_LEAD_USR_IRN : null,
      }
    })
    res.send(pts);
  } catch (e) {
    next(e);
  }

})

`

@Alwigi
Copy link
Author

Alwigi commented Jul 26, 2021

@pantharshit00 fyi v2.27.0 has the same problem
I use the code above in a button click, one or two click works fine but if I click rapidly several time I start getting loads of the errors as mentioned.
Graphql and REST calls both display the same behaviour.

@dpetrick dpetrick self-assigned this Jul 28, 2021
@thebiglabasky thebiglabasky added this to the 2.29.0 milestone Jul 28, 2021
@dpetrick dpetrick assigned pimeys and unassigned dpetrick Aug 5, 2021
@thebiglabasky thebiglabasky modified the milestones: 2.29.0, 2.30.0 Aug 11, 2021
@thebiglabasky thebiglabasky added team/schema Issue for team Schema. and removed process/candidate team/client Issue for team Client. labels Aug 11, 2021
@pimeys
Copy link
Contributor

pimeys commented Aug 11, 2021

I have to come here to say that even though this has been waiting for a while and even though @pantharshit00 hasn't been able to reproduce it, I 100% believe we have a problem and now it's my job to see what can we do about it and what is the damage.

@pimeys
Copy link
Contributor

pimeys commented Aug 11, 2021

Reproduction, with the following data model:

datasource chinook {
  provider = "sqlserver"
  url      = "sqlserver://localhost:1433;database=master;user=SA;password=<YourStrong@Passw0rd>;trustServerCertificate=true"
}

generator client {
  provider = "prisma-client-js"
  previewFeatures = ["microsoftSqlServer", "referentialActions"]
}

model Test {
  id Int @id
  a  Int
  b  Int
  c  Int
}

Starting the Query Engine binary from the command line, with the following environment variable: QUERY_BATCH_SIZE=5000. The following query will give the descriptor error:

mutation {
  createManyTest(
    data: [
      { id: 1, a: 1, b: 1, c: 1 }
      { id: 2, a: 2, b: 2, c: 2 }
      { id: 3, a: 3, b: 3, c: 3 }
      { id: 4, a: 4, b: 4, c: 4 }
      { id: 5, a: 5, b: 5, c: 5 }
      { id: 6, a: 6, b: 6, c: 6 }
      { id: 7, a: 7, b: 7, c: 7 }
      { id: 8, a: 8, b: 8, c: 8 }
      { id: 9, a: 9, b: 9, c: 9 }
      { id: 10, a: 10, b: 10, c: 10 }
      { id: 11, a: 11, b: 11, c: 11 }
      { id: 12, a: 12, b: 12, c: 12 }
      { id: 13, a: 13, b: 13, c: 13 }
      { id: 14, a: 14, b: 14, c: 14 }
      { id: 15, a: 15, b: 15, c: 15 }
      { id: 16, a: 16, b: 16, c: 16 }
      { id: 17, a: 17, b: 17, c: 17 }
      { id: 18, a: 18, b: 18, c: 18 }
      { id: 19, a: 19, b: 19, c: 19 }
      { id: 20, a: 20, b: 20, c: 20 }
      { id: 21, a: 21, b: 21, c: 21 }
      { id: 22, a: 22, b: 22, c: 22 }
      { id: 23, a: 23, b: 23, c: 23 }
      { id: 24, a: 24, b: 24, c: 24 }
      { id: 25, a: 25, b: 25, c: 25 }
      { id: 26, a: 26, b: 26, c: 26 }
      { id: 27, a: 27, b: 27, c: 27 }
      { id: 28, a: 28, b: 28, c: 28 }
      { id: 29, a: 29, b: 29, c: 29 }
      { id: 30, a: 30, b: 30, c: 30 }
      { id: 31, a: 31, b: 31, c: 31 }
      { id: 32, a: 32, b: 32, c: 32 }
      { id: 33, a: 33, b: 33, c: 33 }
      { id: 34, a: 34, b: 34, c: 34 }
      { id: 35, a: 35, b: 35, c: 35 }
      { id: 36, a: 36, b: 36, c: 36 }
      { id: 37, a: 37, b: 37, c: 37 }
      { id: 38, a: 38, b: 38, c: 38 }
      { id: 39, a: 39, b: 39, c: 39 }
      { id: 40, a: 40, b: 40, c: 40 }
      { id: 41, a: 41, b: 41, c: 41 }
      { id: 42, a: 42, b: 42, c: 42 }
      { id: 43, a: 43, b: 43, c: 43 }
      { id: 44, a: 44, b: 44, c: 44 }
      { id: 45, a: 45, b: 45, c: 45 }
      { id: 46, a: 46, b: 46, c: 46 }
      { id: 47, a: 47, b: 47, c: 47 }
      { id: 48, a: 48, b: 48, c: 48 }
      { id: 49, a: 49, b: 49, c: 49 }
      { id: 50, a: 50, b: 50, c: 50 }
      { id: 51, a: 51, b: 51, c: 51 }
      { id: 52, a: 52, b: 52, c: 52 }
      { id: 53, a: 53, b: 53, c: 53 }
      { id: 54, a: 54, b: 54, c: 54 }
      { id: 55, a: 55, b: 55, c: 55 }
      { id: 56, a: 56, b: 56, c: 56 }
      { id: 57, a: 57, b: 57, c: 57 }
      { id: 58, a: 58, b: 58, c: 58 }
      { id: 59, a: 59, b: 59, c: 59 }
      { id: 60, a: 60, b: 60, c: 60 }
      { id: 61, a: 61, b: 61, c: 61 }
      { id: 62, a: 62, b: 62, c: 62 }
      { id: 63, a: 63, b: 63, c: 63 }
      { id: 64, a: 64, b: 64, c: 64 }
      { id: 65, a: 65, b: 65, c: 65 }
      { id: 66, a: 66, b: 66, c: 66 }
      { id: 67, a: 67, b: 67, c: 67 }
      { id: 68, a: 68, b: 68, c: 68 }
      { id: 69, a: 69, b: 69, c: 69 }
      { id: 70, a: 70, b: 70, c: 70 }
      { id: 71, a: 71, b: 71, c: 71 }
      { id: 72, a: 72, b: 72, c: 72 }
      { id: 73, a: 73, b: 73, c: 73 }
      { id: 74, a: 74, b: 74, c: 74 }
      { id: 75, a: 75, b: 75, c: 75 }
      { id: 76, a: 76, b: 76, c: 76 }
      { id: 77, a: 77, b: 77, c: 77 }
      { id: 78, a: 78, b: 78, c: 78 }
      { id: 79, a: 79, b: 79, c: 79 }
      { id: 80, a: 80, b: 80, c: 80 }
      { id: 81, a: 81, b: 81, c: 81 }
      { id: 82, a: 82, b: 82, c: 82 }
      { id: 83, a: 83, b: 83, c: 83 }
      { id: 84, a: 84, b: 84, c: 84 }
      { id: 85, a: 85, b: 85, c: 85 }
      { id: 86, a: 86, b: 86, c: 86 }
      { id: 87, a: 87, b: 87, c: 87 }
      { id: 88, a: 88, b: 88, c: 88 }
      { id: 89, a: 89, b: 89, c: 89 }
      { id: 90, a: 90, b: 90, c: 90 }
      { id: 91, a: 91, b: 91, c: 91 }
      { id: 92, a: 92, b: 92, c: 92 }
      { id: 93, a: 93, b: 93, c: 93 }
      { id: 94, a: 94, b: 94, c: 94 }
      { id: 95, a: 95, b: 95, c: 95 }
      { id: 96, a: 96, b: 96, c: 96 }
      { id: 97, a: 97, b: 97, c: 97 }
      { id: 98, a: 98, b: 98, c: 98 }
      { id: 99, a: 99, b: 99, c: 99 }
      { id: 100, a: 100, b: 100, c: 100 }
      { id: 101, a: 101, b: 101, c: 101 }
      { id: 102, a: 102, b: 102, c: 102 }
      { id: 103, a: 103, b: 103, c: 103 }
      { id: 104, a: 104, b: 104, c: 104 }
      { id: 105, a: 105, b: 105, c: 105 }
      { id: 106, a: 106, b: 106, c: 106 }
      { id: 107, a: 107, b: 107, c: 107 }
      { id: 108, a: 108, b: 108, c: 108 }
      { id: 109, a: 109, b: 109, c: 109 }
      { id: 110, a: 110, b: 110, c: 110 }
      { id: 111, a: 111, b: 111, c: 111 }
      { id: 112, a: 112, b: 112, c: 112 }
      { id: 113, a: 113, b: 113, c: 113 }
      { id: 114, a: 114, b: 114, c: 114 }
      { id: 115, a: 115, b: 115, c: 115 }
      { id: 116, a: 116, b: 116, c: 116 }
      { id: 117, a: 117, b: 117, c: 117 }
      { id: 118, a: 118, b: 118, c: 118 }
      { id: 119, a: 119, b: 119, c: 119 }
      { id: 120, a: 120, b: 120, c: 120 }
      { id: 121, a: 121, b: 121, c: 121 }
      { id: 122, a: 122, b: 122, c: 122 }
      { id: 123, a: 123, b: 123, c: 123 }
      { id: 124, a: 124, b: 124, c: 124 }
      { id: 125, a: 125, b: 125, c: 125 }
      { id: 126, a: 126, b: 126, c: 126 }
      { id: 127, a: 127, b: 127, c: 127 }
      { id: 128, a: 128, b: 128, c: 128 }
      { id: 129, a: 129, b: 129, c: 129 }
      { id: 130, a: 130, b: 130, c: 130 }
      { id: 131, a: 131, b: 131, c: 131 }
      { id: 132, a: 132, b: 132, c: 132 }
      { id: 133, a: 133, b: 133, c: 133 }
      { id: 134, a: 134, b: 134, c: 134 }
      { id: 135, a: 135, b: 135, c: 135 }
      { id: 136, a: 136, b: 136, c: 136 }
      { id: 137, a: 137, b: 137, c: 137 }
      { id: 138, a: 138, b: 138, c: 138 }
      { id: 139, a: 139, b: 139, c: 139 }
      { id: 140, a: 140, b: 140, c: 140 }
      { id: 141, a: 141, b: 141, c: 141 }
      { id: 142, a: 142, b: 142, c: 142 }
      { id: 143, a: 143, b: 143, c: 143 }
      { id: 144, a: 144, b: 144, c: 144 }
      { id: 145, a: 145, b: 145, c: 145 }
      { id: 146, a: 146, b: 146, c: 146 }
      { id: 147, a: 147, b: 147, c: 147 }
      { id: 148, a: 148, b: 148, c: 148 }
      { id: 149, a: 149, b: 149, c: 149 }
      { id: 150, a: 150, b: 150, c: 150 }
      { id: 151, a: 151, b: 151, c: 151 }
      { id: 152, a: 152, b: 152, c: 152 }
      { id: 153, a: 153, b: 153, c: 153 }
      { id: 154, a: 154, b: 154, c: 154 }
      { id: 155, a: 155, b: 155, c: 155 }
      { id: 156, a: 156, b: 156, c: 156 }
      { id: 157, a: 157, b: 157, c: 157 }
      { id: 158, a: 158, b: 158, c: 158 }
      { id: 159, a: 159, b: 159, c: 159 }
      { id: 160, a: 160, b: 160, c: 160 }
      { id: 161, a: 161, b: 161, c: 161 }
      { id: 162, a: 162, b: 162, c: 162 }
      { id: 163, a: 163, b: 163, c: 163 }
      { id: 164, a: 164, b: 164, c: 164 }
      { id: 165, a: 165, b: 165, c: 165 }
      { id: 166, a: 166, b: 166, c: 166 }
      { id: 167, a: 167, b: 167, c: 167 }
      { id: 168, a: 168, b: 168, c: 168 }
      { id: 169, a: 169, b: 169, c: 169 }
      { id: 170, a: 170, b: 170, c: 170 }
      { id: 171, a: 171, b: 171, c: 171 }
      { id: 172, a: 172, b: 172, c: 172 }
      { id: 173, a: 173, b: 173, c: 173 }
      { id: 174, a: 174, b: 174, c: 174 }
      { id: 175, a: 175, b: 175, c: 175 }
      { id: 176, a: 176, b: 176, c: 176 }
      { id: 177, a: 177, b: 177, c: 177 }
      { id: 178, a: 178, b: 178, c: 178 }
      { id: 179, a: 179, b: 179, c: 179 }
      { id: 180, a: 180, b: 180, c: 180 }
      { id: 181, a: 181, b: 181, c: 181 }
      { id: 182, a: 182, b: 182, c: 182 }
      { id: 183, a: 183, b: 183, c: 183 }
      { id: 184, a: 184, b: 184, c: 184 }
      { id: 185, a: 185, b: 185, c: 185 }
      { id: 186, a: 186, b: 186, c: 186 }
      { id: 187, a: 187, b: 187, c: 187 }
      { id: 188, a: 188, b: 188, c: 188 }
      { id: 189, a: 189, b: 189, c: 189 }
      { id: 190, a: 190, b: 190, c: 190 }
      { id: 191, a: 191, b: 191, c: 191 }
      { id: 192, a: 192, b: 192, c: 192 }
      { id: 193, a: 193, b: 193, c: 193 }
      { id: 194, a: 194, b: 194, c: 194 }
      { id: 195, a: 195, b: 195, c: 195 }
      { id: 196, a: 196, b: 196, c: 196 }
      { id: 197, a: 197, b: 197, c: 197 }
      { id: 198, a: 198, b: 198, c: 198 }
      { id: 199, a: 199, b: 199, c: 199 }
      { id: 200, a: 200, b: 200, c: 200 }
      { id: 201, a: 201, b: 201, c: 201 }
      { id: 202, a: 202, b: 202, c: 202 }
      { id: 203, a: 203, b: 203, c: 203 }
      { id: 204, a: 204, b: 204, c: 204 }
      { id: 205, a: 205, b: 205, c: 205 }
      { id: 206, a: 206, b: 206, c: 206 }
      { id: 207, a: 207, b: 207, c: 207 }
      { id: 208, a: 208, b: 208, c: 208 }
      { id: 209, a: 209, b: 209, c: 209 }
      { id: 210, a: 210, b: 210, c: 210 }
      { id: 211, a: 211, b: 211, c: 211 }
      { id: 212, a: 212, b: 212, c: 212 }
      { id: 213, a: 213, b: 213, c: 213 }
      { id: 214, a: 214, b: 214, c: 214 }
      { id: 215, a: 215, b: 215, c: 215 }
      { id: 216, a: 216, b: 216, c: 216 }
      { id: 217, a: 217, b: 217, c: 217 }
      { id: 218, a: 218, b: 218, c: 218 }
      { id: 219, a: 219, b: 219, c: 219 }
      { id: 220, a: 220, b: 220, c: 220 }
      { id: 221, a: 221, b: 221, c: 221 }
      { id: 222, a: 222, b: 222, c: 222 }
      { id: 223, a: 223, b: 223, c: 223 }
      { id: 224, a: 224, b: 224, c: 224 }
      { id: 225, a: 225, b: 225, c: 225 }
      { id: 226, a: 226, b: 226, c: 226 }
      { id: 227, a: 227, b: 227, c: 227 }
      { id: 228, a: 228, b: 228, c: 228 }
      { id: 229, a: 229, b: 229, c: 229 }
      { id: 230, a: 230, b: 230, c: 230 }
      { id: 231, a: 231, b: 231, c: 231 }
      { id: 232, a: 232, b: 232, c: 232 }
      { id: 233, a: 233, b: 233, c: 233 }
      { id: 234, a: 234, b: 234, c: 234 }
      { id: 235, a: 235, b: 235, c: 235 }
      { id: 236, a: 236, b: 236, c: 236 }
      { id: 237, a: 237, b: 237, c: 237 }
      { id: 238, a: 238, b: 238, c: 238 }
      { id: 239, a: 239, b: 239, c: 239 }
      { id: 240, a: 240, b: 240, c: 240 }
      { id: 241, a: 241, b: 241, c: 241 }
      { id: 242, a: 242, b: 242, c: 242 }
      { id: 243, a: 243, b: 243, c: 243 }
      { id: 244, a: 244, b: 244, c: 244 }
      { id: 245, a: 245, b: 245, c: 245 }
      { id: 246, a: 246, b: 246, c: 246 }
      { id: 247, a: 247, b: 247, c: 247 }
      { id: 248, a: 248, b: 248, c: 248 }
      { id: 249, a: 249, b: 249, c: 249 }
      { id: 250, a: 250, b: 250, c: 250 }
      { id: 251, a: 251, b: 251, c: 251 }
      { id: 252, a: 252, b: 252, c: 252 }
      { id: 253, a: 253, b: 253, c: 253 }
      { id: 254, a: 254, b: 254, c: 254 }
      { id: 255, a: 255, b: 255, c: 255 }
      { id: 256, a: 256, b: 256, c: 256 }
      { id: 257, a: 257, b: 257, c: 257 }
      { id: 258, a: 258, b: 258, c: 258 }
      { id: 259, a: 259, b: 259, c: 259 }
      { id: 260, a: 260, b: 260, c: 260 }
      { id: 261, a: 261, b: 261, c: 261 }
      { id: 262, a: 262, b: 262, c: 262 }
      { id: 263, a: 263, b: 263, c: 263 }
      { id: 264, a: 264, b: 264, c: 264 }
      { id: 265, a: 265, b: 265, c: 265 }
      { id: 266, a: 266, b: 266, c: 266 }
      { id: 267, a: 267, b: 267, c: 267 }
      { id: 268, a: 268, b: 268, c: 268 }
      { id: 269, a: 269, b: 269, c: 269 }
      { id: 270, a: 270, b: 270, c: 270 }
      { id: 271, a: 271, b: 271, c: 271 }
      { id: 272, a: 272, b: 272, c: 272 }
      { id: 273, a: 273, b: 273, c: 273 }
      { id: 274, a: 274, b: 274, c: 274 }
      { id: 275, a: 275, b: 275, c: 275 }
      { id: 276, a: 276, b: 276, c: 276 }
      { id: 277, a: 277, b: 277, c: 277 }
      { id: 278, a: 278, b: 278, c: 278 }
      { id: 279, a: 279, b: 279, c: 279 }
      { id: 280, a: 280, b: 280, c: 280 }
      { id: 281, a: 281, b: 281, c: 281 }
      { id: 282, a: 282, b: 282, c: 282 }
      { id: 283, a: 283, b: 283, c: 283 }
      { id: 284, a: 284, b: 284, c: 284 }
      { id: 285, a: 285, b: 285, c: 285 }
      { id: 286, a: 286, b: 286, c: 286 }
      { id: 287, a: 287, b: 287, c: 287 }
      { id: 288, a: 288, b: 288, c: 288 }
      { id: 289, a: 289, b: 289, c: 289 }
      { id: 290, a: 290, b: 290, c: 290 }
      { id: 291, a: 291, b: 291, c: 291 }
      { id: 292, a: 292, b: 292, c: 292 }
      { id: 293, a: 293, b: 293, c: 293 }
      { id: 294, a: 294, b: 294, c: 294 }
      { id: 295, a: 295, b: 295, c: 295 }
      { id: 296, a: 296, b: 296, c: 296 }
      { id: 297, a: 297, b: 297, c: 297 }
      { id: 298, a: 298, b: 298, c: 298 }
      { id: 299, a: 299, b: 299, c: 299 }
      { id: 300, a: 300, b: 300, c: 300 }
      { id: 301, a: 301, b: 301, c: 301 }
      { id: 302, a: 302, b: 302, c: 302 }
      { id: 303, a: 303, b: 303, c: 303 }
      { id: 304, a: 304, b: 304, c: 304 }
      { id: 305, a: 305, b: 305, c: 305 }
      { id: 306, a: 306, b: 306, c: 306 }
      { id: 307, a: 307, b: 307, c: 307 }
      { id: 308, a: 308, b: 308, c: 308 }
      { id: 309, a: 309, b: 309, c: 309 }
      { id: 310, a: 310, b: 310, c: 310 }
      { id: 311, a: 311, b: 311, c: 311 }
      { id: 312, a: 312, b: 312, c: 312 }
      { id: 313, a: 313, b: 313, c: 313 }
      { id: 314, a: 314, b: 314, c: 314 }
      { id: 315, a: 315, b: 315, c: 315 }
      { id: 316, a: 316, b: 316, c: 316 }
      { id: 317, a: 317, b: 317, c: 317 }
      { id: 318, a: 318, b: 318, c: 318 }
      { id: 319, a: 319, b: 319, c: 319 }
      { id: 320, a: 320, b: 320, c: 320 }
      { id: 321, a: 321, b: 321, c: 321 }
      { id: 322, a: 322, b: 322, c: 322 }
      { id: 323, a: 323, b: 323, c: 323 }
      { id: 324, a: 324, b: 324, c: 324 }
      { id: 325, a: 325, b: 325, c: 325 }
      { id: 326, a: 326, b: 326, c: 326 }
      { id: 327, a: 327, b: 327, c: 327 }
      { id: 328, a: 328, b: 328, c: 328 }
      { id: 329, a: 329, b: 329, c: 329 }
      { id: 330, a: 330, b: 330, c: 330 }
      { id: 331, a: 331, b: 331, c: 331 }
      { id: 332, a: 332, b: 332, c: 332 }
      { id: 333, a: 333, b: 333, c: 333 }
      { id: 334, a: 334, b: 334, c: 334 }
      { id: 335, a: 335, b: 335, c: 335 }
      { id: 336, a: 336, b: 336, c: 336 }
      { id: 337, a: 337, b: 337, c: 337 }
      { id: 338, a: 338, b: 338, c: 338 }
      { id: 339, a: 339, b: 339, c: 339 }
      { id: 340, a: 340, b: 340, c: 340 }
      { id: 341, a: 341, b: 341, c: 341 }
      { id: 342, a: 342, b: 342, c: 342 }
      { id: 343, a: 343, b: 343, c: 343 }
      { id: 344, a: 344, b: 344, c: 344 }
      { id: 345, a: 345, b: 345, c: 345 }
      { id: 346, a: 346, b: 346, c: 346 }
      { id: 347, a: 347, b: 347, c: 347 }
      { id: 348, a: 348, b: 348, c: 348 }
      { id: 349, a: 349, b: 349, c: 349 }
      { id: 350, a: 350, b: 350, c: 350 }
      { id: 351, a: 351, b: 351, c: 351 }
      { id: 352, a: 352, b: 352, c: 352 }
      { id: 353, a: 353, b: 353, c: 353 }
      { id: 354, a: 354, b: 354, c: 354 }
      { id: 355, a: 355, b: 355, c: 355 }
      { id: 356, a: 356, b: 356, c: 356 }
      { id: 357, a: 357, b: 357, c: 357 }
      { id: 358, a: 358, b: 358, c: 358 }
      { id: 359, a: 359, b: 359, c: 359 }
      { id: 360, a: 360, b: 360, c: 360 }
      { id: 361, a: 361, b: 361, c: 361 }
      { id: 362, a: 362, b: 362, c: 362 }
      { id: 363, a: 363, b: 363, c: 363 }
      { id: 364, a: 364, b: 364, c: 364 }
      { id: 365, a: 365, b: 365, c: 365 }
      { id: 366, a: 366, b: 366, c: 366 }
      { id: 367, a: 367, b: 367, c: 367 }
      { id: 368, a: 368, b: 368, c: 368 }
      { id: 369, a: 369, b: 369, c: 369 }
      { id: 370, a: 370, b: 370, c: 370 }
      { id: 371, a: 371, b: 371, c: 371 }
      { id: 372, a: 372, b: 372, c: 372 }
      { id: 373, a: 373, b: 373, c: 373 }
      { id: 374, a: 374, b: 374, c: 374 }
      { id: 375, a: 375, b: 375, c: 375 }
      { id: 376, a: 376, b: 376, c: 376 }
      { id: 377, a: 377, b: 377, c: 377 }
      { id: 378, a: 378, b: 378, c: 378 }
      { id: 379, a: 379, b: 379, c: 379 }
      { id: 380, a: 380, b: 380, c: 380 }
      { id: 381, a: 381, b: 381, c: 381 }
      { id: 382, a: 382, b: 382, c: 382 }
      { id: 383, a: 383, b: 383, c: 383 }
      { id: 384, a: 384, b: 384, c: 384 }
      { id: 385, a: 385, b: 385, c: 385 }
      { id: 386, a: 386, b: 386, c: 386 }
      { id: 387, a: 387, b: 387, c: 387 }
      { id: 388, a: 388, b: 388, c: 388 }
      { id: 389, a: 389, b: 389, c: 389 }
      { id: 390, a: 390, b: 390, c: 390 }
      { id: 391, a: 391, b: 391, c: 391 }
      { id: 392, a: 392, b: 392, c: 392 }
      { id: 393, a: 393, b: 393, c: 393 }
      { id: 394, a: 394, b: 394, c: 394 }
      { id: 395, a: 395, b: 395, c: 395 }
      { id: 396, a: 396, b: 396, c: 396 }
      { id: 397, a: 397, b: 397, c: 397 }
      { id: 398, a: 398, b: 398, c: 398 }
      { id: 399, a: 399, b: 399, c: 399 }
      { id: 400, a: 400, b: 400, c: 400 }
      { id: 401, a: 401, b: 401, c: 401 }
      { id: 402, a: 402, b: 402, c: 402 }
      { id: 403, a: 403, b: 403, c: 403 }
      { id: 404, a: 404, b: 404, c: 404 }
      { id: 405, a: 405, b: 405, c: 405 }
      { id: 406, a: 406, b: 406, c: 406 }
      { id: 407, a: 407, b: 407, c: 407 }
      { id: 408, a: 408, b: 408, c: 408 }
      { id: 409, a: 409, b: 409, c: 409 }
      { id: 410, a: 410, b: 410, c: 410 }
      { id: 411, a: 411, b: 411, c: 411 }
      { id: 412, a: 412, b: 412, c: 412 }
      { id: 413, a: 413, b: 413, c: 413 }
      { id: 414, a: 414, b: 414, c: 414 }
      { id: 415, a: 415, b: 415, c: 415 }
      { id: 416, a: 416, b: 416, c: 416 }
      { id: 417, a: 417, b: 417, c: 417 }
      { id: 418, a: 418, b: 418, c: 418 }
      { id: 419, a: 419, b: 419, c: 419 }
      { id: 420, a: 420, b: 420, c: 420 }
      { id: 421, a: 421, b: 421, c: 421 }
      { id: 422, a: 422, b: 422, c: 422 }
      { id: 423, a: 423, b: 423, c: 423 }
      { id: 424, a: 424, b: 424, c: 424 }
      { id: 425, a: 425, b: 425, c: 425 }
      { id: 426, a: 426, b: 426, c: 426 }
      { id: 427, a: 427, b: 427, c: 427 }
      { id: 428, a: 428, b: 428, c: 428 }
      { id: 429, a: 429, b: 429, c: 429 }
      { id: 430, a: 430, b: 430, c: 430 }
      { id: 431, a: 431, b: 431, c: 431 }
      { id: 432, a: 432, b: 432, c: 432 }
      { id: 433, a: 433, b: 433, c: 433 }
      { id: 434, a: 434, b: 434, c: 434 }
      { id: 435, a: 435, b: 435, c: 435 }
      { id: 436, a: 436, b: 436, c: 436 }
      { id: 437, a: 437, b: 437, c: 437 }
      { id: 438, a: 438, b: 438, c: 438 }
      { id: 439, a: 439, b: 439, c: 439 }
      { id: 440, a: 440, b: 440, c: 440 }
      { id: 441, a: 441, b: 441, c: 441 }
      { id: 442, a: 442, b: 442, c: 442 }
      { id: 443, a: 443, b: 443, c: 443 }
      { id: 444, a: 444, b: 444, c: 444 }
      { id: 445, a: 445, b: 445, c: 445 }
      { id: 446, a: 446, b: 446, c: 446 }
      { id: 447, a: 447, b: 447, c: 447 }
      { id: 448, a: 448, b: 448, c: 448 }
      { id: 449, a: 449, b: 449, c: 449 }
      { id: 450, a: 450, b: 450, c: 450 }
      { id: 451, a: 451, b: 451, c: 451 }
      { id: 452, a: 452, b: 452, c: 452 }
      { id: 453, a: 453, b: 453, c: 453 }
      { id: 454, a: 454, b: 454, c: 454 }
      { id: 455, a: 455, b: 455, c: 455 }
      { id: 456, a: 456, b: 456, c: 456 }
      { id: 457, a: 457, b: 457, c: 457 }
      { id: 458, a: 458, b: 458, c: 458 }
      { id: 459, a: 459, b: 459, c: 459 }
      { id: 460, a: 460, b: 460, c: 460 }
      { id: 461, a: 461, b: 461, c: 461 }
      { id: 462, a: 462, b: 462, c: 462 }
      { id: 463, a: 463, b: 463, c: 463 }
      { id: 464, a: 464, b: 464, c: 464 }
      { id: 465, a: 465, b: 465, c: 465 }
      { id: 466, a: 466, b: 466, c: 466 }
      { id: 467, a: 467, b: 467, c: 467 }
      { id: 468, a: 468, b: 468, c: 468 }
      { id: 469, a: 469, b: 469, c: 469 }
      { id: 470, a: 470, b: 470, c: 470 }
      { id: 471, a: 471, b: 471, c: 471 }
      { id: 472, a: 472, b: 472, c: 472 }
      { id: 473, a: 473, b: 473, c: 473 }
      { id: 474, a: 474, b: 474, c: 474 }
      { id: 475, a: 475, b: 475, c: 475 }
      { id: 476, a: 476, b: 476, c: 476 }
      { id: 477, a: 477, b: 477, c: 477 }
      { id: 478, a: 478, b: 478, c: 478 }
      { id: 479, a: 479, b: 479, c: 479 }
      { id: 480, a: 480, b: 480, c: 480 }
      { id: 481, a: 481, b: 481, c: 481 }
      { id: 482, a: 482, b: 482, c: 482 }
      { id: 483, a: 483, b: 483, c: 483 }
      { id: 484, a: 484, b: 484, c: 484 }
      { id: 485, a: 485, b: 485, c: 485 }
      { id: 486, a: 486, b: 486, c: 486 }
      { id: 487, a: 487, b: 487, c: 487 }
      { id: 488, a: 488, b: 488, c: 488 }
      { id: 489, a: 489, b: 489, c: 489 }
      { id: 490, a: 490, b: 490, c: 490 }
      { id: 491, a: 491, b: 491, c: 491 }
      { id: 492, a: 492, b: 492, c: 492 }
      { id: 493, a: 493, b: 493, c: 493 }
      { id: 494, a: 494, b: 494, c: 494 }
      { id: 495, a: 495, b: 495, c: 495 }
      { id: 496, a: 496, b: 496, c: 496 }
      { id: 497, a: 497, b: 497, c: 497 }
      { id: 498, a: 498, b: 498, c: 498 }
      { id: 499, a: 499, b: 499, c: 499 }
      { id: 500, a: 500, b: 500, c: 500 }
      { id: 501, a: 501, b: 501, c: 501 }
      { id: 502, a: 502, b: 502, c: 502 }
      { id: 503, a: 503, b: 503, c: 503 }
      { id: 504, a: 504, b: 504, c: 504 }
      { id: 505, a: 505, b: 505, c: 505 }
      { id: 506, a: 506, b: 506, c: 506 }
      { id: 507, a: 507, b: 507, c: 507 }
      { id: 508, a: 508, b: 508, c: 508 }
      { id: 509, a: 509, b: 509, c: 509 }
      { id: 510, a: 510, b: 510, c: 510 }
      { id: 511, a: 511, b: 511, c: 511 }
      { id: 512, a: 512, b: 512, c: 512 }
      { id: 513, a: 513, b: 513, c: 513 }
      { id: 514, a: 514, b: 514, c: 514 }
      { id: 515, a: 515, b: 515, c: 515 }
      { id: 516, a: 516, b: 516, c: 516 }
      { id: 517, a: 517, b: 517, c: 517 }
      { id: 518, a: 518, b: 518, c: 518 }
      { id: 519, a: 519, b: 519, c: 519 }
      { id: 520, a: 520, b: 520, c: 520 }
      { id: 521, a: 521, b: 521, c: 521 }
      { id: 522, a: 522, b: 522, c: 522 }
      { id: 523, a: 523, b: 523, c: 523 }
      { id: 524, a: 524, b: 524, c: 524 }
      { id: 525, a: 525, b: 525, c: 525 }
      { id: 526, a: 526, b: 526, c: 526 }
      { id: 527, a: 527, b: 527, c: 527 }
      { id: 528, a: 528, b: 528, c: 528 }
      { id: 529, a: 529, b: 529, c: 529 }
      { id: 530, a: 530, b: 530, c: 530 }
      { id: 531, a: 531, b: 531, c: 531 }
      { id: 532, a: 532, b: 532, c: 532 }
      { id: 533, a: 533, b: 533, c: 533 }
      { id: 534, a: 534, b: 534, c: 534 }
      { id: 535, a: 535, b: 535, c: 535 }
      { id: 536, a: 536, b: 536, c: 536 }
      { id: 537, a: 537, b: 537, c: 537 }
      { id: 538, a: 538, b: 538, c: 538 }
      { id: 539, a: 539, b: 539, c: 539 }
      { id: 540, a: 540, b: 540, c: 540 }
      { id: 541, a: 541, b: 541, c: 541 }
      { id: 542, a: 542, b: 542, c: 542 }
      { id: 543, a: 543, b: 543, c: 543 }
      { id: 544, a: 544, b: 544, c: 544 }
      { id: 545, a: 545, b: 545, c: 545 }
      { id: 546, a: 546, b: 546, c: 546 }
      { id: 547, a: 547, b: 547, c: 547 }
      { id: 548, a: 548, b: 548, c: 548 }
      { id: 549, a: 549, b: 549, c: 549 }
      { id: 550, a: 550, b: 550, c: 550 }
      { id: 551, a: 551, b: 551, c: 551 }
      { id: 552, a: 552, b: 552, c: 552 }
      { id: 553, a: 553, b: 553, c: 553 }
      { id: 554, a: 554, b: 554, c: 554 }
      { id: 555, a: 555, b: 555, c: 555 }
      { id: 556, a: 556, b: 556, c: 556 }
      { id: 557, a: 557, b: 557, c: 557 }
      { id: 558, a: 558, b: 558, c: 558 }
      { id: 559, a: 559, b: 559, c: 559 }
      { id: 560, a: 560, b: 560, c: 560 }
      { id: 561, a: 561, b: 561, c: 561 }
      { id: 562, a: 562, b: 562, c: 562 }
      { id: 563, a: 563, b: 563, c: 563 }
      { id: 564, a: 564, b: 564, c: 564 }
      { id: 565, a: 565, b: 565, c: 565 }
      { id: 566, a: 566, b: 566, c: 566 }
      { id: 567, a: 567, b: 567, c: 567 }
      { id: 568, a: 568, b: 568, c: 568 }
      { id: 569, a: 569, b: 569, c: 569 }
      { id: 570, a: 570, b: 570, c: 570 }
      { id: 571, a: 571, b: 571, c: 571 }
      { id: 572, a: 572, b: 572, c: 572 }
      { id: 573, a: 573, b: 573, c: 573 }
      { id: 574, a: 574, b: 574, c: 574 }
      { id: 575, a: 575, b: 575, c: 575 }
      { id: 576, a: 576, b: 576, c: 576 }
      { id: 577, a: 577, b: 577, c: 577 }
      { id: 578, a: 578, b: 578, c: 578 }
      { id: 579, a: 579, b: 579, c: 579 }
      { id: 580, a: 580, b: 580, c: 580 }
      { id: 581, a: 581, b: 581, c: 581 }
      { id: 582, a: 582, b: 582, c: 582 }
      { id: 583, a: 583, b: 583, c: 583 }
      { id: 584, a: 584, b: 584, c: 584 }
      { id: 585, a: 585, b: 585, c: 585 }
      { id: 586, a: 586, b: 586, c: 586 }
      { id: 587, a: 587, b: 587, c: 587 }
      { id: 588, a: 588, b: 588, c: 588 }
      { id: 589, a: 589, b: 589, c: 589 }
      { id: 590, a: 590, b: 590, c: 590 }
      { id: 591, a: 591, b: 591, c: 591 }
      { id: 592, a: 592, b: 592, c: 592 }
      { id: 593, a: 593, b: 593, c: 593 }
      { id: 594, a: 594, b: 594, c: 594 }
      { id: 595, a: 595, b: 595, c: 595 }
      { id: 596, a: 596, b: 596, c: 596 }
      { id: 597, a: 597, b: 597, c: 597 }
      { id: 598, a: 598, b: 598, c: 598 }
      { id: 599, a: 599, b: 599, c: 599 }
      { id: 600, a: 600, b: 600, c: 600 }
      { id: 601, a: 601, b: 601, c: 601 }
      { id: 602, a: 602, b: 602, c: 602 }
      { id: 603, a: 603, b: 603, c: 603 }
      { id: 604, a: 604, b: 604, c: 604 }
      { id: 605, a: 605, b: 605, c: 605 }
      { id: 606, a: 606, b: 606, c: 606 }
      { id: 607, a: 607, b: 607, c: 607 }
      { id: 608, a: 608, b: 608, c: 608 }
      { id: 609, a: 609, b: 609, c: 609 }
      { id: 610, a: 610, b: 610, c: 610 }
      { id: 611, a: 611, b: 611, c: 611 }
      { id: 612, a: 612, b: 612, c: 612 }
      { id: 613, a: 613, b: 613, c: 613 }
      { id: 614, a: 614, b: 614, c: 614 }
      { id: 615, a: 615, b: 615, c: 615 }
      { id: 616, a: 616, b: 616, c: 616 }
      { id: 617, a: 617, b: 617, c: 617 }
      { id: 618, a: 618, b: 618, c: 618 }
      { id: 619, a: 619, b: 619, c: 619 }
      { id: 620, a: 620, b: 620, c: 620 }
      { id: 621, a: 621, b: 621, c: 621 }
      { id: 622, a: 622, b: 622, c: 622 }
      { id: 623, a: 623, b: 623, c: 623 }
      { id: 624, a: 624, b: 624, c: 624 }
      { id: 625, a: 625, b: 625, c: 625 }
      { id: 626, a: 626, b: 626, c: 626 }
      { id: 627, a: 627, b: 627, c: 627 }
      { id: 628, a: 628, b: 628, c: 628 }
      { id: 629, a: 629, b: 629, c: 629 }
      { id: 630, a: 630, b: 630, c: 630 }
      { id: 631, a: 631, b: 631, c: 631 }
      { id: 632, a: 632, b: 632, c: 632 }
      { id: 633, a: 633, b: 633, c: 633 }
      { id: 634, a: 634, b: 634, c: 634 }
      { id: 635, a: 635, b: 635, c: 635 }
      { id: 636, a: 636, b: 636, c: 636 }
      { id: 637, a: 637, b: 637, c: 637 }
      { id: 638, a: 638, b: 638, c: 638 }
      { id: 639, a: 639, b: 639, c: 639 }
      { id: 640, a: 640, b: 640, c: 640 }
      { id: 641, a: 641, b: 641, c: 641 }
      { id: 642, a: 642, b: 642, c: 642 }
      { id: 643, a: 643, b: 643, c: 643 }
      { id: 644, a: 644, b: 644, c: 644 }
      { id: 645, a: 645, b: 645, c: 645 }
      { id: 646, a: 646, b: 646, c: 646 }
      { id: 647, a: 647, b: 647, c: 647 }
      { id: 648, a: 648, b: 648, c: 648 }
      { id: 649, a: 649, b: 649, c: 649 }
      { id: 650, a: 650, b: 650, c: 650 }
      { id: 651, a: 651, b: 651, c: 651 }
      { id: 652, a: 652, b: 652, c: 652 }
      { id: 653, a: 653, b: 653, c: 653 }
      { id: 654, a: 654, b: 654, c: 654 }
      { id: 655, a: 655, b: 655, c: 655 }
      { id: 656, a: 656, b: 656, c: 656 }
      { id: 657, a: 657, b: 657, c: 657 }
      { id: 658, a: 658, b: 658, c: 658 }
      { id: 659, a: 659, b: 659, c: 659 }
      { id: 660, a: 660, b: 660, c: 660 }
      { id: 661, a: 661, b: 661, c: 661 }
      { id: 662, a: 662, b: 662, c: 662 }
      { id: 663, a: 663, b: 663, c: 663 }
      { id: 664, a: 664, b: 664, c: 664 }
      { id: 665, a: 665, b: 665, c: 665 }
      { id: 666, a: 666, b: 666, c: 666 }
      { id: 667, a: 667, b: 667, c: 667 }
      { id: 668, a: 668, b: 668, c: 668 }
      { id: 669, a: 669, b: 669, c: 669 }
      { id: 670, a: 670, b: 670, c: 670 }
      { id: 671, a: 671, b: 671, c: 671 }
      { id: 672, a: 672, b: 672, c: 672 }
      { id: 673, a: 673, b: 673, c: 673 }
      { id: 674, a: 674, b: 674, c: 674 }
      { id: 675, a: 675, b: 675, c: 675 }
      { id: 676, a: 676, b: 676, c: 676 }
      { id: 677, a: 677, b: 677, c: 677 }
      { id: 678, a: 678, b: 678, c: 678 }
      { id: 679, a: 679, b: 679, c: 679 }
      { id: 680, a: 680, b: 680, c: 680 }
      { id: 681, a: 681, b: 681, c: 681 }
      { id: 682, a: 682, b: 682, c: 682 }
      { id: 683, a: 683, b: 683, c: 683 }
      { id: 684, a: 684, b: 684, c: 684 }
      { id: 685, a: 685, b: 685, c: 685 }
      { id: 686, a: 686, b: 686, c: 686 }
      { id: 687, a: 687, b: 687, c: 687 }
      { id: 688, a: 688, b: 688, c: 688 }
      { id: 689, a: 689, b: 689, c: 689 }
      { id: 690, a: 690, b: 690, c: 690 }
      { id: 691, a: 691, b: 691, c: 691 }
      { id: 692, a: 692, b: 692, c: 692 }
      { id: 693, a: 693, b: 693, c: 693 }
      { id: 694, a: 694, b: 694, c: 694 }
      { id: 695, a: 695, b: 695, c: 695 }
      { id: 696, a: 696, b: 696, c: 696 }
      { id: 697, a: 697, b: 697, c: 697 }
      { id: 698, a: 698, b: 698, c: 698 }
      { id: 699, a: 699, b: 699, c: 699 }
      { id: 700, a: 700, b: 700, c: 700 }
      { id: 701, a: 701, b: 701, c: 701 }
      { id: 702, a: 702, b: 702, c: 702 }
      { id: 703, a: 703, b: 703, c: 703 }
      { id: 704, a: 704, b: 704, c: 704 }
      { id: 705, a: 705, b: 705, c: 705 }
      { id: 706, a: 706, b: 706, c: 706 }
      { id: 707, a: 707, b: 707, c: 707 }
      { id: 708, a: 708, b: 708, c: 708 }
      { id: 709, a: 709, b: 709, c: 709 }
      { id: 710, a: 710, b: 710, c: 710 }
      { id: 711, a: 711, b: 711, c: 711 }
      { id: 712, a: 712, b: 712, c: 712 }
      { id: 713, a: 713, b: 713, c: 713 }
      { id: 714, a: 714, b: 714, c: 714 }
      { id: 715, a: 715, b: 715, c: 715 }
      { id: 716, a: 716, b: 716, c: 716 }
      { id: 717, a: 717, b: 717, c: 717 }
      { id: 718, a: 718, b: 718, c: 718 }
      { id: 719, a: 719, b: 719, c: 719 }
      { id: 720, a: 720, b: 720, c: 720 }
      { id: 721, a: 721, b: 721, c: 721 }
      { id: 722, a: 722, b: 722, c: 722 }
      { id: 723, a: 723, b: 723, c: 723 }
      { id: 724, a: 724, b: 724, c: 724 }
      { id: 725, a: 725, b: 725, c: 725 }
      { id: 726, a: 726, b: 726, c: 726 }
      { id: 727, a: 727, b: 727, c: 727 }
      { id: 728, a: 728, b: 728, c: 728 }
      { id: 729, a: 729, b: 729, c: 729 }
      { id: 730, a: 730, b: 730, c: 730 }
      { id: 731, a: 731, b: 731, c: 731 }
      { id: 732, a: 732, b: 732, c: 732 }
      { id: 733, a: 733, b: 733, c: 733 }
      { id: 734, a: 734, b: 734, c: 734 }
      { id: 735, a: 735, b: 735, c: 735 }
      { id: 736, a: 736, b: 736, c: 736 }
      { id: 737, a: 737, b: 737, c: 737 }
      { id: 738, a: 738, b: 738, c: 738 }
      { id: 739, a: 739, b: 739, c: 739 }
      { id: 740, a: 740, b: 740, c: 740 }
      { id: 741, a: 741, b: 741, c: 741 }
      { id: 742, a: 742, b: 742, c: 742 }
      { id: 743, a: 743, b: 743, c: 743 }
      { id: 744, a: 744, b: 744, c: 744 }
      { id: 745, a: 745, b: 745, c: 745 }
      { id: 746, a: 746, b: 746, c: 746 }
      { id: 747, a: 747, b: 747, c: 747 }
      { id: 748, a: 748, b: 748, c: 748 }
      { id: 749, a: 749, b: 749, c: 749 }
      { id: 750, a: 750, b: 750, c: 750 }
      { id: 751, a: 751, b: 751, c: 751 }
      { id: 752, a: 752, b: 752, c: 752 }
      { id: 753, a: 753, b: 753, c: 753 }
      { id: 754, a: 754, b: 754, c: 754 }
      { id: 755, a: 755, b: 755, c: 755 }
      { id: 756, a: 756, b: 756, c: 756 }
      { id: 757, a: 757, b: 757, c: 757 }
      { id: 758, a: 758, b: 758, c: 758 }
      { id: 759, a: 759, b: 759, c: 759 }
      { id: 760, a: 760, b: 760, c: 760 }
      { id: 761, a: 761, b: 761, c: 761 }
      { id: 762, a: 762, b: 762, c: 762 }
      { id: 763, a: 763, b: 763, c: 763 }
      { id: 764, a: 764, b: 764, c: 764 }
      { id: 765, a: 765, b: 765, c: 765 }
      { id: 766, a: 766, b: 766, c: 766 }
      { id: 767, a: 767, b: 767, c: 767 }
      { id: 768, a: 768, b: 768, c: 768 }
      { id: 769, a: 769, b: 769, c: 769 }
      { id: 770, a: 770, b: 770, c: 770 }
      { id: 771, a: 771, b: 771, c: 771 }
      { id: 772, a: 772, b: 772, c: 772 }
      { id: 773, a: 773, b: 773, c: 773 }
      { id: 774, a: 774, b: 774, c: 774 }
      { id: 775, a: 775, b: 775, c: 775 }
      { id: 776, a: 776, b: 776, c: 776 }
      { id: 777, a: 777, b: 777, c: 777 }
      { id: 778, a: 778, b: 778, c: 778 }
      { id: 779, a: 779, b: 779, c: 779 }
      { id: 780, a: 780, b: 780, c: 780 }
      { id: 781, a: 781, b: 781, c: 781 }
      { id: 782, a: 782, b: 782, c: 782 }
      { id: 783, a: 783, b: 783, c: 783 }
      { id: 784, a: 784, b: 784, c: 784 }
      { id: 785, a: 785, b: 785, c: 785 }
      { id: 786, a: 786, b: 786, c: 786 }
      { id: 787, a: 787, b: 787, c: 787 }
      { id: 788, a: 788, b: 788, c: 788 }
      { id: 789, a: 789, b: 789, c: 789 }
      { id: 790, a: 790, b: 790, c: 790 }
      { id: 791, a: 791, b: 791, c: 791 }
      { id: 792, a: 792, b: 792, c: 792 }
      { id: 793, a: 793, b: 793, c: 793 }
      { id: 794, a: 794, b: 794, c: 794 }
      { id: 795, a: 795, b: 795, c: 795 }
      { id: 796, a: 796, b: 796, c: 796 }
      { id: 797, a: 797, b: 797, c: 797 }
      { id: 798, a: 798, b: 798, c: 798 }
      { id: 799, a: 799, b: 799, c: 799 }
      { id: 800, a: 800, b: 800, c: 800 }
      { id: 801, a: 801, b: 801, c: 801 }
      { id: 802, a: 802, b: 802, c: 802 }
      { id: 803, a: 803, b: 803, c: 803 }
      { id: 804, a: 804, b: 804, c: 804 }
      { id: 805, a: 805, b: 805, c: 805 }
      { id: 806, a: 806, b: 806, c: 806 }
      { id: 807, a: 807, b: 807, c: 807 }
      { id: 808, a: 808, b: 808, c: 808 }
      { id: 809, a: 809, b: 809, c: 809 }
      { id: 810, a: 810, b: 810, c: 810 }
      { id: 811, a: 811, b: 811, c: 811 }
      { id: 812, a: 812, b: 812, c: 812 }
      { id: 813, a: 813, b: 813, c: 813 }
      { id: 814, a: 814, b: 814, c: 814 }
      { id: 815, a: 815, b: 815, c: 815 }
      { id: 816, a: 816, b: 816, c: 816 }
      { id: 817, a: 817, b: 817, c: 817 }
      { id: 818, a: 818, b: 818, c: 818 }
      { id: 819, a: 819, b: 819, c: 819 }
      { id: 820, a: 820, b: 820, c: 820 }
      { id: 821, a: 821, b: 821, c: 821 }
      { id: 822, a: 822, b: 822, c: 822 }
      { id: 823, a: 823, b: 823, c: 823 }
      { id: 824, a: 824, b: 824, c: 824 }
      { id: 825, a: 825, b: 825, c: 825 }
      { id: 826, a: 826, b: 826, c: 826 }
      { id: 827, a: 827, b: 827, c: 827 }
      { id: 828, a: 828, b: 828, c: 828 }
      { id: 829, a: 829, b: 829, c: 829 }
      { id: 830, a: 830, b: 830, c: 830 }
      { id: 831, a: 831, b: 831, c: 831 }
      { id: 832, a: 832, b: 832, c: 832 }
      { id: 833, a: 833, b: 833, c: 833 }
      { id: 834, a: 834, b: 834, c: 834 }
      { id: 835, a: 835, b: 835, c: 835 }
      { id: 836, a: 836, b: 836, c: 836 }
      { id: 837, a: 837, b: 837, c: 837 }
      { id: 838, a: 838, b: 838, c: 838 }
      { id: 839, a: 839, b: 839, c: 839 }
      { id: 840, a: 840, b: 840, c: 840 }
      { id: 841, a: 841, b: 841, c: 841 }
      { id: 842, a: 842, b: 842, c: 842 }
      { id: 843, a: 843, b: 843, c: 843 }
      { id: 844, a: 844, b: 844, c: 844 }
      { id: 845, a: 845, b: 845, c: 845 }
      { id: 846, a: 846, b: 846, c: 846 }
      { id: 847, a: 847, b: 847, c: 847 }
      { id: 848, a: 848, b: 848, c: 848 }
      { id: 849, a: 849, b: 849, c: 849 }
      { id: 850, a: 850, b: 850, c: 850 }
      { id: 851, a: 851, b: 851, c: 851 }
      { id: 852, a: 852, b: 852, c: 852 }
      { id: 853, a: 853, b: 853, c: 853 }
      { id: 854, a: 854, b: 854, c: 854 }
      { id: 855, a: 855, b: 855, c: 855 }
      { id: 856, a: 856, b: 856, c: 856 }
      { id: 857, a: 857, b: 857, c: 857 }
      { id: 858, a: 858, b: 858, c: 858 }
      { id: 859, a: 859, b: 859, c: 859 }
      { id: 860, a: 860, b: 860, c: 860 }
      { id: 861, a: 861, b: 861, c: 861 }
      { id: 862, a: 862, b: 862, c: 862 }
      { id: 863, a: 863, b: 863, c: 863 }
      { id: 864, a: 864, b: 864, c: 864 }
      { id: 865, a: 865, b: 865, c: 865 }
      { id: 866, a: 866, b: 866, c: 866 }
      { id: 867, a: 867, b: 867, c: 867 }
      { id: 868, a: 868, b: 868, c: 868 }
      { id: 869, a: 869, b: 869, c: 869 }
      { id: 870, a: 870, b: 870, c: 870 }
      { id: 871, a: 871, b: 871, c: 871 }
      { id: 872, a: 872, b: 872, c: 872 }
      { id: 873, a: 873, b: 873, c: 873 }
      { id: 874, a: 874, b: 874, c: 874 }
      { id: 875, a: 875, b: 875, c: 875 }
      { id: 876, a: 876, b: 876, c: 876 }
      { id: 877, a: 877, b: 877, c: 877 }
      { id: 878, a: 878, b: 878, c: 878 }
      { id: 879, a: 879, b: 879, c: 879 }
      { id: 880, a: 880, b: 880, c: 880 }
      { id: 881, a: 881, b: 881, c: 881 }
      { id: 882, a: 882, b: 882, c: 882 }
      { id: 883, a: 883, b: 883, c: 883 }
      { id: 884, a: 884, b: 884, c: 884 }
      { id: 885, a: 885, b: 885, c: 885 }
      { id: 886, a: 886, b: 886, c: 886 }
      { id: 887, a: 887, b: 887, c: 887 }
      { id: 888, a: 888, b: 888, c: 888 }
      { id: 889, a: 889, b: 889, c: 889 }
      { id: 890, a: 890, b: 890, c: 890 }
      { id: 891, a: 891, b: 891, c: 891 }
      { id: 892, a: 892, b: 892, c: 892 }
      { id: 893, a: 893, b: 893, c: 893 }
      { id: 894, a: 894, b: 894, c: 894 }
      { id: 895, a: 895, b: 895, c: 895 }
      { id: 896, a: 896, b: 896, c: 896 }
      { id: 897, a: 897, b: 897, c: 897 }
      { id: 898, a: 898, b: 898, c: 898 }
      { id: 899, a: 899, b: 899, c: 899 }
      { id: 900, a: 900, b: 900, c: 900 }
      { id: 901, a: 901, b: 901, c: 901 }
      { id: 902, a: 902, b: 902, c: 902 }
      { id: 903, a: 903, b: 903, c: 903 }
      { id: 904, a: 904, b: 904, c: 904 }
      { id: 905, a: 905, b: 905, c: 905 }
      { id: 906, a: 906, b: 906, c: 906 }
      { id: 907, a: 907, b: 907, c: 907 }
      { id: 908, a: 908, b: 908, c: 908 }
      { id: 909, a: 909, b: 909, c: 909 }
      { id: 910, a: 910, b: 910, c: 910 }
      { id: 911, a: 911, b: 911, c: 911 }
      { id: 912, a: 912, b: 912, c: 912 }
      { id: 913, a: 913, b: 913, c: 913 }
      { id: 914, a: 914, b: 914, c: 914 }
      { id: 915, a: 915, b: 915, c: 915 }
      { id: 916, a: 916, b: 916, c: 916 }
      { id: 917, a: 917, b: 917, c: 917 }
      { id: 918, a: 918, b: 918, c: 918 }
      { id: 919, a: 919, b: 919, c: 919 }
      { id: 920, a: 920, b: 920, c: 920 }
      { id: 921, a: 921, b: 921, c: 921 }
      { id: 922, a: 922, b: 922, c: 922 }
      { id: 923, a: 923, b: 923, c: 923 }
      { id: 924, a: 924, b: 924, c: 924 }
      { id: 925, a: 925, b: 925, c: 925 }
      { id: 926, a: 926, b: 926, c: 926 }
      { id: 927, a: 927, b: 927, c: 927 }
      { id: 928, a: 928, b: 928, c: 928 }
      { id: 929, a: 929, b: 929, c: 929 }
      { id: 930, a: 930, b: 930, c: 930 }
      { id: 931, a: 931, b: 931, c: 931 }
      { id: 932, a: 932, b: 932, c: 932 }
      { id: 933, a: 933, b: 933, c: 933 }
      { id: 934, a: 934, b: 934, c: 934 }
      { id: 935, a: 935, b: 935, c: 935 }
      { id: 936, a: 936, b: 936, c: 936 }
      { id: 937, a: 937, b: 937, c: 937 }
      { id: 938, a: 938, b: 938, c: 938 }
      { id: 939, a: 939, b: 939, c: 939 }
      { id: 940, a: 940, b: 940, c: 940 }
      { id: 941, a: 941, b: 941, c: 941 }
      { id: 942, a: 942, b: 942, c: 942 }
      { id: 943, a: 943, b: 943, c: 943 }
      { id: 944, a: 944, b: 944, c: 944 }
      { id: 945, a: 945, b: 945, c: 945 }
      { id: 946, a: 946, b: 946, c: 946 }
      { id: 947, a: 947, b: 947, c: 947 }
      { id: 948, a: 948, b: 948, c: 948 }
      { id: 949, a: 949, b: 949, c: 949 }
      { id: 950, a: 950, b: 950, c: 950 }
      { id: 951, a: 951, b: 951, c: 951 }
      { id: 952, a: 952, b: 952, c: 952 }
      { id: 953, a: 953, b: 953, c: 953 }
      { id: 954, a: 954, b: 954, c: 954 }
      { id: 955, a: 955, b: 955, c: 955 }
      { id: 956, a: 956, b: 956, c: 956 }
      { id: 957, a: 957, b: 957, c: 957 }
      { id: 958, a: 958, b: 958, c: 958 }
      { id: 959, a: 959, b: 959, c: 959 }
      { id: 960, a: 960, b: 960, c: 960 }
      { id: 961, a: 961, b: 961, c: 961 }
      { id: 962, a: 962, b: 962, c: 962 }
      { id: 963, a: 963, b: 963, c: 963 }
      { id: 964, a: 964, b: 964, c: 964 }
      { id: 965, a: 965, b: 965, c: 965 }
      { id: 966, a: 966, b: 966, c: 966 }
      { id: 967, a: 967, b: 967, c: 967 }
      { id: 968, a: 968, b: 968, c: 968 }
      { id: 969, a: 969, b: 969, c: 969 }
      { id: 970, a: 970, b: 970, c: 970 }
      { id: 971, a: 971, b: 971, c: 971 }
      { id: 972, a: 972, b: 972, c: 972 }
      { id: 973, a: 973, b: 973, c: 973 }
      { id: 974, a: 974, b: 974, c: 974 }
      { id: 975, a: 975, b: 975, c: 975 }
      { id: 976, a: 976, b: 976, c: 976 }
      { id: 977, a: 977, b: 977, c: 977 }
      { id: 978, a: 978, b: 978, c: 978 }
      { id: 979, a: 979, b: 979, c: 979 }
      { id: 980, a: 980, b: 980, c: 980 }
      { id: 981, a: 981, b: 981, c: 981 }
      { id: 982, a: 982, b: 982, c: 982 }
      { id: 983, a: 983, b: 983, c: 983 }
      { id: 984, a: 984, b: 984, c: 984 }
      { id: 985, a: 985, b: 985, c: 985 }
      { id: 986, a: 986, b: 986, c: 986 }
      { id: 987, a: 987, b: 987, c: 987 }
      { id: 988, a: 988, b: 988, c: 988 }
      { id: 989, a: 989, b: 989, c: 989 }
      { id: 990, a: 990, b: 990, c: 990 }
      { id: 991, a: 991, b: 991, c: 991 }
      { id: 992, a: 992, b: 992, c: 992 }
      { id: 993, a: 993, b: 993, c: 993 }
      { id: 994, a: 994, b: 994, c: 994 }
      { id: 995, a: 995, b: 995, c: 995 }
      { id: 996, a: 996, b: 996, c: 996 }
      { id: 997, a: 997, b: 997, c: 997 }
      { id: 998, a: 998, b: 998, c: 998 }
      { id: 999, a: 999, b: 999, c: 999 }
      { id: 1000, a: 1000, b: 1000, c: 1000 }
      { id: 1001, a: 1001, b: 1001, c: 1001 }
      { id: 1002, a: 1002, b: 1002, c: 1002 }
      { id: 1003, a: 1003, b: 1003, c: 1003 }
      { id: 1004, a: 1004, b: 1004, c: 1004 }
      { id: 1005, a: 1005, b: 1005, c: 1005 }
      { id: 1006, a: 1006, b: 1006, c: 1006 }
      { id: 1007, a: 1007, b: 1007, c: 1007 }
      { id: 1008, a: 1008, b: 1008, c: 1008 }
      { id: 1009, a: 1009, b: 1009, c: 1009 }
      { id: 1010, a: 1010, b: 1010, c: 1010 }
      { id: 1011, a: 1011, b: 1011, c: 1011 }
      { id: 1012, a: 1012, b: 1012, c: 1012 }
      { id: 1013, a: 1013, b: 1013, c: 1013 }
      { id: 1014, a: 1014, b: 1014, c: 1014 }
      { id: 1015, a: 1015, b: 1015, c: 1015 }
      { id: 1016, a: 1016, b: 1016, c: 1016 }
      { id: 1017, a: 1017, b: 1017, c: 1017 }
      { id: 1018, a: 1018, b: 1018, c: 1018 }
      { id: 1019, a: 1019, b: 1019, c: 1019 }
      { id: 1020, a: 1020, b: 1020, c: 1020 }
      { id: 1021, a: 1021, b: 1021, c: 1021 }
      { id: 1022, a: 1022, b: 1022, c: 1022 }
      { id: 1023, a: 1023, b: 1023, c: 1023 }
      { id: 1024, a: 1024, b: 1024, c: 1024 }
      { id: 1025, a: 1025, b: 1025, c: 1025 }
      { id: 1026, a: 1026, b: 1026, c: 1026 }
      { id: 1027, a: 1027, b: 1027, c: 1027 }
      { id: 1028, a: 1028, b: 1028, c: 1028 }
      { id: 1029, a: 1029, b: 1029, c: 1029 }
      { id: 1030, a: 1030, b: 1030, c: 1030 }
      { id: 1031, a: 1031, b: 1031, c: 1031 }
      { id: 1032, a: 1032, b: 1032, c: 1032 }
      { id: 1033, a: 1033, b: 1033, c: 1033 }
      { id: 1034, a: 1034, b: 1034, c: 1034 }
      { id: 1035, a: 1035, b: 1035, c: 1035 }
      { id: 1036, a: 1036, b: 1036, c: 1036 }
      { id: 1037, a: 1037, b: 1037, c: 1037 }
      { id: 1038, a: 1038, b: 1038, c: 1038 }
      { id: 1039, a: 1039, b: 1039, c: 1039 }
      { id: 1040, a: 1040, b: 1040, c: 1040 }
      { id: 1041, a: 1041, b: 1041, c: 1041 }
      { id: 1042, a: 1042, b: 1042, c: 1042 }
      { id: 1043, a: 1043, b: 1043, c: 1043 }
      { id: 1044, a: 1044, b: 1044, c: 1044 }
      { id: 1045, a: 1045, b: 1045, c: 1045 }
      { id: 1046, a: 1046, b: 1046, c: 1046 }
      { id: 1047, a: 1047, b: 1047, c: 1047 }
      { id: 1048, a: 1048, b: 1048, c: 1048 }
      { id: 1049, a: 1049, b: 1049, c: 1049 }
      { id: 1050, a: 1050, b: 1050, c: 1050 }
      { id: 1051, a: 1051, b: 1051, c: 1051 }
      { id: 1052, a: 1052, b: 1052, c: 1052 }
      { id: 1053, a: 1053, b: 1053, c: 1053 }
      { id: 1054, a: 1054, b: 1054, c: 1054 }
      { id: 1055, a: 1055, b: 1055, c: 1055 }
      { id: 1056, a: 1056, b: 1056, c: 1056 }
      { id: 1057, a: 1057, b: 1057, c: 1057 }
      { id: 1058, a: 1058, b: 1058, c: 1058 }
      { id: 1059, a: 1059, b: 1059, c: 1059 }
      { id: 1060, a: 1060, b: 1060, c: 1060 }
      { id: 1061, a: 1061, b: 1061, c: 1061 }
      { id: 1062, a: 1062, b: 1062, c: 1062 }
      { id: 1063, a: 1063, b: 1063, c: 1063 }
      { id: 1064, a: 1064, b: 1064, c: 1064 }
      { id: 1065, a: 1065, b: 1065, c: 1065 }
      { id: 1066, a: 1066, b: 1066, c: 1066 }
      { id: 1067, a: 1067, b: 1067, c: 1067 }
      { id: 1068, a: 1068, b: 1068, c: 1068 }
      { id: 1069, a: 1069, b: 1069, c: 1069 }
      { id: 1070, a: 1070, b: 1070, c: 1070 }
      { id: 1071, a: 1071, b: 1071, c: 1071 }
      { id: 1072, a: 1072, b: 1072, c: 1072 }
      { id: 1073, a: 1073, b: 1073, c: 1073 }
      { id: 1074, a: 1074, b: 1074, c: 1074 }
      { id: 1075, a: 1075, b: 1075, c: 1075 }
      { id: 1076, a: 1076, b: 1076, c: 1076 }
      { id: 1077, a: 1077, b: 1077, c: 1077 }
      { id: 1078, a: 1078, b: 1078, c: 1078 }
      { id: 1079, a: 1079, b: 1079, c: 1079 }
      { id: 1080, a: 1080, b: 1080, c: 1080 }
      { id: 1081, a: 1081, b: 1081, c: 1081 }
      { id: 1082, a: 1082, b: 1082, c: 1082 }
      { id: 1083, a: 1083, b: 1083, c: 1083 }
      { id: 1084, a: 1084, b: 1084, c: 1084 }
      { id: 1085, a: 1085, b: 1085, c: 1085 }
      { id: 1086, a: 1086, b: 1086, c: 1086 }
      { id: 1087, a: 1087, b: 1087, c: 1087 }
      { id: 1088, a: 1088, b: 1088, c: 1088 }
      { id: 1089, a: 1089, b: 1089, c: 1089 }
      { id: 1090, a: 1090, b: 1090, c: 1090 }
      { id: 1091, a: 1091, b: 1091, c: 1091 }
      { id: 1092, a: 1092, b: 1092, c: 1092 }
      { id: 1093, a: 1093, b: 1093, c: 1093 }
      { id: 1094, a: 1094, b: 1094, c: 1094 }
      { id: 1095, a: 1095, b: 1095, c: 1095 }
      { id: 1096, a: 1096, b: 1096, c: 1096 }
      { id: 1097, a: 1097, b: 1097, c: 1097 }
      { id: 1098, a: 1098, b: 1098, c: 1098 }
      { id: 1099, a: 1099, b: 1099, c: 1099 }
      { id: 1100, a: 1100, b: 1100, c: 1100 }
      { id: 1101, a: 1101, b: 1101, c: 1101 }
      { id: 1102, a: 1102, b: 1102, c: 1102 }
      { id: 1103, a: 1103, b: 1103, c: 1103 }
      { id: 1104, a: 1104, b: 1104, c: 1104 }
      { id: 1105, a: 1105, b: 1105, c: 1105 }
      { id: 1106, a: 1106, b: 1106, c: 1106 }
      { id: 1107, a: 1107, b: 1107, c: 1107 }
      { id: 1108, a: 1108, b: 1108, c: 1108 }
      { id: 1109, a: 1109, b: 1109, c: 1109 }
      { id: 1110, a: 1110, b: 1110, c: 1110 }
      { id: 1111, a: 1111, b: 1111, c: 1111 }
      { id: 1112, a: 1112, b: 1112, c: 1112 }
      { id: 1113, a: 1113, b: 1113, c: 1113 }
      { id: 1114, a: 1114, b: 1114, c: 1114 }
      { id: 1115, a: 1115, b: 1115, c: 1115 }
      { id: 1116, a: 1116, b: 1116, c: 1116 }
      { id: 1117, a: 1117, b: 1117, c: 1117 }
      { id: 1118, a: 1118, b: 1118, c: 1118 }
      { id: 1119, a: 1119, b: 1119, c: 1119 }
      { id: 1120, a: 1120, b: 1120, c: 1120 }
      { id: 1121, a: 1121, b: 1121, c: 1121 }
      { id: 1122, a: 1122, b: 1122, c: 1122 }
      { id: 1123, a: 1123, b: 1123, c: 1123 }
      { id: 1124, a: 1124, b: 1124, c: 1124 }
      { id: 1125, a: 1125, b: 1125, c: 1125 }
      { id: 1126, a: 1126, b: 1126, c: 1126 }
      { id: 1127, a: 1127, b: 1127, c: 1127 }
      { id: 1128, a: 1128, b: 1128, c: 1128 }
      { id: 1129, a: 1129, b: 1129, c: 1129 }
      { id: 1130, a: 1130, b: 1130, c: 1130 }
      { id: 1131, a: 1131, b: 1131, c: 1131 }
      { id: 1132, a: 1132, b: 1132, c: 1132 }
      { id: 1133, a: 1133, b: 1133, c: 1133 }
      { id: 1134, a: 1134, b: 1134, c: 1134 }
      { id: 1135, a: 1135, b: 1135, c: 1135 }
      { id: 1136, a: 1136, b: 1136, c: 1136 }
      { id: 1137, a: 1137, b: 1137, c: 1137 }
      { id: 1138, a: 1138, b: 1138, c: 1138 }
      { id: 1139, a: 1139, b: 1139, c: 1139 }
      { id: 1140, a: 1140, b: 1140, c: 1140 }
      { id: 1141, a: 1141, b: 1141, c: 1141 }
      { id: 1142, a: 1142, b: 1142, c: 1142 }
      { id: 1143, a: 1143, b: 1143, c: 1143 }
      { id: 1144, a: 1144, b: 1144, c: 1144 }
      { id: 1145, a: 1145, b: 1145, c: 1145 }
      { id: 1146, a: 1146, b: 1146, c: 1146 }
      { id: 1147, a: 1147, b: 1147, c: 1147 }
      { id: 1148, a: 1148, b: 1148, c: 1148 }
      { id: 1149, a: 1149, b: 1149, c: 1149 }
      { id: 1150, a: 1150, b: 1150, c: 1150 }
      { id: 1151, a: 1151, b: 1151, c: 1151 }
      { id: 1152, a: 1152, b: 1152, c: 1152 }
      { id: 1153, a: 1153, b: 1153, c: 1153 }
      { id: 1154, a: 1154, b: 1154, c: 1154 }
      { id: 1155, a: 1155, b: 1155, c: 1155 }
      { id: 1156, a: 1156, b: 1156, c: 1156 }
      { id: 1157, a: 1157, b: 1157, c: 1157 }
      { id: 1158, a: 1158, b: 1158, c: 1158 }
      { id: 1159, a: 1159, b: 1159, c: 1159 }
      { id: 1160, a: 1160, b: 1160, c: 1160 }
      { id: 1161, a: 1161, b: 1161, c: 1161 }
      { id: 1162, a: 1162, b: 1162, c: 1162 }
      { id: 1163, a: 1163, b: 1163, c: 1163 }
      { id: 1164, a: 1164, b: 1164, c: 1164 }
      { id: 1165, a: 1165, b: 1165, c: 1165 }
      { id: 1166, a: 1166, b: 1166, c: 1166 }
      { id: 1167, a: 1167, b: 1167, c: 1167 }
      { id: 1168, a: 1168, b: 1168, c: 1168 }
      { id: 1169, a: 1169, b: 1169, c: 1169 }
      { id: 1170, a: 1170, b: 1170, c: 1170 }
      { id: 1171, a: 1171, b: 1171, c: 1171 }
      { id: 1172, a: 1172, b: 1172, c: 1172 }
      { id: 1173, a: 1173, b: 1173, c: 1173 }
      { id: 1174, a: 1174, b: 1174, c: 1174 }
      { id: 1175, a: 1175, b: 1175, c: 1175 }
      { id: 1176, a: 1176, b: 1176, c: 1176 }
      { id: 1177, a: 1177, b: 1177, c: 1177 }
      { id: 1178, a: 1178, b: 1178, c: 1178 }
      { id: 1179, a: 1179, b: 1179, c: 1179 }
      { id: 1180, a: 1180, b: 1180, c: 1180 }
      { id: 1181, a: 1181, b: 1181, c: 1181 }
      { id: 1182, a: 1182, b: 1182, c: 1182 }
      { id: 1183, a: 1183, b: 1183, c: 1183 }
      { id: 1184, a: 1184, b: 1184, c: 1184 }
      { id: 1185, a: 1185, b: 1185, c: 1185 }
      { id: 1186, a: 1186, b: 1186, c: 1186 }
      { id: 1187, a: 1187, b: 1187, c: 1187 }
      { id: 1188, a: 1188, b: 1188, c: 1188 }
      { id: 1189, a: 1189, b: 1189, c: 1189 }
      { id: 1190, a: 1190, b: 1190, c: 1190 }
      { id: 1191, a: 1191, b: 1191, c: 1191 }
      { id: 1192, a: 1192, b: 1192, c: 1192 }
      { id: 1193, a: 1193, b: 1193, c: 1193 }
      { id: 1194, a: 1194, b: 1194, c: 1194 }
      { id: 1195, a: 1195, b: 1195, c: 1195 }
      { id: 1196, a: 1196, b: 1196, c: 1196 }
      { id: 1197, a: 1197, b: 1197, c: 1197 }
      { id: 1198, a: 1198, b: 1198, c: 1198 }
      { id: 1199, a: 1199, b: 1199, c: 1199 }
      { id: 1200, a: 1200, b: 1200, c: 1200 }
      { id: 1201, a: 1201, b: 1201, c: 1201 }
      { id: 1202, a: 1202, b: 1202, c: 1202 }
      { id: 1203, a: 1203, b: 1203, c: 1203 }
      { id: 1204, a: 1204, b: 1204, c: 1204 }
      { id: 1205, a: 1205, b: 1205, c: 1205 }
      { id: 1206, a: 1206, b: 1206, c: 1206 }
      { id: 1207, a: 1207, b: 1207, c: 1207 }
      { id: 1208, a: 1208, b: 1208, c: 1208 }
      { id: 1209, a: 1209, b: 1209, c: 1209 }
      { id: 1210, a: 1210, b: 1210, c: 1210 }
      { id: 1211, a: 1211, b: 1211, c: 1211 }
      { id: 1212, a: 1212, b: 1212, c: 1212 }
      { id: 1213, a: 1213, b: 1213, c: 1213 }
      { id: 1214, a: 1214, b: 1214, c: 1214 }
      { id: 1215, a: 1215, b: 1215, c: 1215 }
      { id: 1216, a: 1216, b: 1216, c: 1216 }
      { id: 1217, a: 1217, b: 1217, c: 1217 }
      { id: 1218, a: 1218, b: 1218, c: 1218 }
      { id: 1219, a: 1219, b: 1219, c: 1219 }
      { id: 1220, a: 1220, b: 1220, c: 1220 }
      { id: 1221, a: 1221, b: 1221, c: 1221 }
      { id: 1222, a: 1222, b: 1222, c: 1222 }
      { id: 1223, a: 1223, b: 1223, c: 1223 }
      { id: 1224, a: 1224, b: 1224, c: 1224 }
      { id: 1225, a: 1225, b: 1225, c: 1225 }
      { id: 1226, a: 1226, b: 1226, c: 1226 }
      { id: 1227, a: 1227, b: 1227, c: 1227 }
      { id: 1228, a: 1228, b: 1228, c: 1228 }
      { id: 1229, a: 1229, b: 1229, c: 1229 }
      { id: 1230, a: 1230, b: 1230, c: 1230 }
      { id: 1231, a: 1231, b: 1231, c: 1231 }
      { id: 1232, a: 1232, b: 1232, c: 1232 }
      { id: 1233, a: 1233, b: 1233, c: 1233 }
      { id: 1234, a: 1234, b: 1234, c: 1234 }
      { id: 1235, a: 1235, b: 1235, c: 1235 }
      { id: 1236, a: 1236, b: 1236, c: 1236 }
      { id: 1237, a: 1237, b: 1237, c: 1237 }
      { id: 1238, a: 1238, b: 1238, c: 1238 }
      { id: 1239, a: 1239, b: 1239, c: 1239 }
      { id: 1240, a: 1240, b: 1240, c: 1240 }
      { id: 1241, a: 1241, b: 1241, c: 1241 }
      { id: 1242, a: 1242, b: 1242, c: 1242 }
      { id: 1243, a: 1243, b: 1243, c: 1243 }
      { id: 1244, a: 1244, b: 1244, c: 1244 }
      { id: 1245, a: 1245, b: 1245, c: 1245 }
      { id: 1246, a: 1246, b: 1246, c: 1246 }
      { id: 1247, a: 1247, b: 1247, c: 1247 }
      { id: 1248, a: 1248, b: 1248, c: 1248 }
      { id: 1249, a: 1249, b: 1249, c: 1249 }
      { id: 1250, a: 1250, b: 1250, c: 1250 }
      { id: 1251, a: 1251, b: 1251, c: 1251 }
      { id: 1252, a: 1252, b: 1252, c: 1252 }
      { id: 1253, a: 1253, b: 1253, c: 1253 }
      { id: 1254, a: 1254, b: 1254, c: 1254 }
      { id: 1255, a: 1255, b: 1255, c: 1255 }
      { id: 1256, a: 1256, b: 1256, c: 1256 }
      { id: 1257, a: 1257, b: 1257, c: 1257 }
      { id: 1258, a: 1258, b: 1258, c: 1258 }
      { id: 1259, a: 1259, b: 1259, c: 1259 }
      { id: 1260, a: 1260, b: 1260, c: 1260 }
      { id: 1261, a: 1261, b: 1261, c: 1261 }
      { id: 1262, a: 1262, b: 1262, c: 1262 }
      { id: 1263, a: 1263, b: 1263, c: 1263 }
      { id: 1264, a: 1264, b: 1264, c: 1264 }
      { id: 1265, a: 1265, b: 1265, c: 1265 }
      { id: 1266, a: 1266, b: 1266, c: 1266 }
      { id: 1267, a: 1267, b: 1267, c: 1267 }
      { id: 1268, a: 1268, b: 1268, c: 1268 }
      { id: 1269, a: 1269, b: 1269, c: 1269 }
      { id: 1270, a: 1270, b: 1270, c: 1270 }
      { id: 1271, a: 1271, b: 1271, c: 1271 }
      { id: 1272, a: 1272, b: 1272, c: 1272 }
      { id: 1273, a: 1273, b: 1273, c: 1273 }
      { id: 1274, a: 1274, b: 1274, c: 1274 }
      { id: 1275, a: 1275, b: 1275, c: 1275 }
      { id: 1276, a: 1276, b: 1276, c: 1276 }
      { id: 1277, a: 1277, b: 1277, c: 1277 }
      { id: 1278, a: 1278, b: 1278, c: 1278 }
      { id: 1279, a: 1279, b: 1279, c: 1279 }
      { id: 1280, a: 1280, b: 1280, c: 1280 }
      { id: 1281, a: 1281, b: 1281, c: 1281 }
      { id: 1282, a: 1282, b: 1282, c: 1282 }
      { id: 1283, a: 1283, b: 1283, c: 1283 }
      { id: 1284, a: 1284, b: 1284, c: 1284 }
      { id: 1285, a: 1285, b: 1285, c: 1285 }
      { id: 1286, a: 1286, b: 1286, c: 1286 }
      { id: 1287, a: 1287, b: 1287, c: 1287 }
      { id: 1288, a: 1288, b: 1288, c: 1288 }
      { id: 1289, a: 1289, b: 1289, c: 1289 }
      { id: 1290, a: 1290, b: 1290, c: 1290 }
      { id: 1291, a: 1291, b: 1291, c: 1291 }
      { id: 1292, a: 1292, b: 1292, c: 1292 }
      { id: 1293, a: 1293, b: 1293, c: 1293 }
      { id: 1294, a: 1294, b: 1294, c: 1294 }
      { id: 1295, a: 1295, b: 1295, c: 1295 }
      { id: 1296, a: 1296, b: 1296, c: 1296 }
      { id: 1297, a: 1297, b: 1297, c: 1297 }
      { id: 1298, a: 1298, b: 1298, c: 1298 }
      { id: 1299, a: 1299, b: 1299, c: 1299 }
      { id: 1300, a: 1300, b: 1300, c: 1300 }
      { id: 1301, a: 1301, b: 1301, c: 1301 }
      { id: 1302, a: 1302, b: 1302, c: 1302 }
      { id: 1303, a: 1303, b: 1303, c: 1303 }
      { id: 1304, a: 1304, b: 1304, c: 1304 }
      { id: 1305, a: 1305, b: 1305, c: 1305 }
      { id: 1306, a: 1306, b: 1306, c: 1306 }
      { id: 1307, a: 1307, b: 1307, c: 1307 }
      { id: 1308, a: 1308, b: 1308, c: 1308 }
      { id: 1309, a: 1309, b: 1309, c: 1309 }
      { id: 1310, a: 1310, b: 1310, c: 1310 }
      { id: 1311, a: 1311, b: 1311, c: 1311 }
      { id: 1312, a: 1312, b: 1312, c: 1312 }
      { id: 1313, a: 1313, b: 1313, c: 1313 }
      { id: 1314, a: 1314, b: 1314, c: 1314 }
      { id: 1315, a: 1315, b: 1315, c: 1315 }
      { id: 1316, a: 1316, b: 1316, c: 1316 }
      { id: 1317, a: 1317, b: 1317, c: 1317 }
      { id: 1318, a: 1318, b: 1318, c: 1318 }
      { id: 1319, a: 1319, b: 1319, c: 1319 }
      { id: 1320, a: 1320, b: 1320, c: 1320 }
      { id: 1321, a: 1321, b: 1321, c: 1321 }
      { id: 1322, a: 1322, b: 1322, c: 1322 }
      { id: 1323, a: 1323, b: 1323, c: 1323 }
      { id: 1324, a: 1324, b: 1324, c: 1324 }
      { id: 1325, a: 1325, b: 1325, c: 1325 }
      { id: 1326, a: 1326, b: 1326, c: 1326 }
      { id: 1327, a: 1327, b: 1327, c: 1327 }
      { id: 1328, a: 1328, b: 1328, c: 1328 }
      { id: 1329, a: 1329, b: 1329, c: 1329 }
      { id: 1330, a: 1330, b: 1330, c: 1330 }
      { id: 1331, a: 1331, b: 1331, c: 1331 }
      { id: 1332, a: 1332, b: 1332, c: 1332 }
      { id: 1333, a: 1333, b: 1333, c: 1333 }
      { id: 1334, a: 1334, b: 1334, c: 1334 }
      { id: 1335, a: 1335, b: 1335, c: 1335 }
      { id: 1336, a: 1336, b: 1336, c: 1336 }
      { id: 1337, a: 1337, b: 1337, c: 1337 }
      { id: 1338, a: 1338, b: 1338, c: 1338 }
      { id: 1339, a: 1339, b: 1339, c: 1339 }
      { id: 1340, a: 1340, b: 1340, c: 1340 }
      { id: 1341, a: 1341, b: 1341, c: 1341 }
      { id: 1342, a: 1342, b: 1342, c: 1342 }
      { id: 1343, a: 1343, b: 1343, c: 1343 }
      { id: 1344, a: 1344, b: 1344, c: 1344 }
      { id: 1345, a: 1345, b: 1345, c: 1345 }
      { id: 1346, a: 1346, b: 1346, c: 1346 }
      { id: 1347, a: 1347, b: 1347, c: 1347 }
      { id: 1348, a: 1348, b: 1348, c: 1348 }
      { id: 1349, a: 1349, b: 1349, c: 1349 }
      { id: 1350, a: 1350, b: 1350, c: 1350 }
      { id: 1351, a: 1351, b: 1351, c: 1351 }
      { id: 1352, a: 1352, b: 1352, c: 1352 }
      { id: 1353, a: 1353, b: 1353, c: 1353 }
      { id: 1354, a: 1354, b: 1354, c: 1354 }
      { id: 1355, a: 1355, b: 1355, c: 1355 }
      { id: 1356, a: 1356, b: 1356, c: 1356 }
      { id: 1357, a: 1357, b: 1357, c: 1357 }
      { id: 1358, a: 1358, b: 1358, c: 1358 }
      { id: 1359, a: 1359, b: 1359, c: 1359 }
      { id: 1360, a: 1360, b: 1360, c: 1360 }
      { id: 1361, a: 1361, b: 1361, c: 1361 }
      { id: 1362, a: 1362, b: 1362, c: 1362 }
      { id: 1363, a: 1363, b: 1363, c: 1363 }
      { id: 1364, a: 1364, b: 1364, c: 1364 }
      { id: 1365, a: 1365, b: 1365, c: 1365 }
      { id: 1366, a: 1366, b: 1366, c: 1366 }
      { id: 1367, a: 1367, b: 1367, c: 1367 }
      { id: 1368, a: 1368, b: 1368, c: 1368 }
      { id: 1369, a: 1369, b: 1369, c: 1369 }
      { id: 1370, a: 1370, b: 1370, c: 1370 }
      { id: 1371, a: 1371, b: 1371, c: 1371 }
      { id: 1372, a: 1372, b: 1372, c: 1372 }
      { id: 1373, a: 1373, b: 1373, c: 1373 }
      { id: 1374, a: 1374, b: 1374, c: 1374 }
      { id: 1375, a: 1375, b: 1375, c: 1375 }
      { id: 1376, a: 1376, b: 1376, c: 1376 }
      { id: 1377, a: 1377, b: 1377, c: 1377 }
      { id: 1378, a: 1378, b: 1378, c: 1378 }
      { id: 1379, a: 1379, b: 1379, c: 1379 }
      { id: 1380, a: 1380, b: 1380, c: 1380 }
      { id: 1381, a: 1381, b: 1381, c: 1381 }
      { id: 1382, a: 1382, b: 1382, c: 1382 }
      { id: 1383, a: 1383, b: 1383, c: 1383 }
      { id: 1384, a: 1384, b: 1384, c: 1384 }
      { id: 1385, a: 1385, b: 1385, c: 1385 }
      { id: 1386, a: 1386, b: 1386, c: 1386 }
      { id: 1387, a: 1387, b: 1387, c: 1387 }
      { id: 1388, a: 1388, b: 1388, c: 1388 }
      { id: 1389, a: 1389, b: 1389, c: 1389 }
      { id: 1390, a: 1390, b: 1390, c: 1390 }
      { id: 1391, a: 1391, b: 1391, c: 1391 }
      { id: 1392, a: 1392, b: 1392, c: 1392 }
      { id: 1393, a: 1393, b: 1393, c: 1393 }
      { id: 1394, a: 1394, b: 1394, c: 1394 }
      { id: 1395, a: 1395, b: 1395, c: 1395 }
      { id: 1396, a: 1396, b: 1396, c: 1396 }
      { id: 1397, a: 1397, b: 1397, c: 1397 }
      { id: 1398, a: 1398, b: 1398, c: 1398 }
      { id: 1399, a: 1399, b: 1399, c: 1399 }
      { id: 1400, a: 1400, b: 1400, c: 1400 }
      { id: 1401, a: 1401, b: 1401, c: 1401 }
      { id: 1402, a: 1402, b: 1402, c: 1402 }
      { id: 1403, a: 1403, b: 1403, c: 1403 }
      { id: 1404, a: 1404, b: 1404, c: 1404 }
      { id: 1405, a: 1405, b: 1405, c: 1405 }
      { id: 1406, a: 1406, b: 1406, c: 1406 }
      { id: 1407, a: 1407, b: 1407, c: 1407 }
      { id: 1408, a: 1408, b: 1408, c: 1408 }
      { id: 1409, a: 1409, b: 1409, c: 1409 }
      { id: 1410, a: 1410, b: 1410, c: 1410 }
      { id: 1411, a: 1411, b: 1411, c: 1411 }
      { id: 1412, a: 1412, b: 1412, c: 1412 }
      { id: 1413, a: 1413, b: 1413, c: 1413 }
      { id: 1414, a: 1414, b: 1414, c: 1414 }
      { id: 1415, a: 1415, b: 1415, c: 1415 }
      { id: 1416, a: 1416, b: 1416, c: 1416 }
      { id: 1417, a: 1417, b: 1417, c: 1417 }
      { id: 1418, a: 1418, b: 1418, c: 1418 }
      { id: 1419, a: 1419, b: 1419, c: 1419 }
      { id: 1420, a: 1420, b: 1420, c: 1420 }
      { id: 1421, a: 1421, b: 1421, c: 1421 }
      { id: 1422, a: 1422, b: 1422, c: 1422 }
      { id: 1423, a: 1423, b: 1423, c: 1423 }
      { id: 1424, a: 1424, b: 1424, c: 1424 }
      { id: 1425, a: 1425, b: 1425, c: 1425 }
      { id: 1426, a: 1426, b: 1426, c: 1426 }
      { id: 1427, a: 1427, b: 1427, c: 1427 }
      { id: 1428, a: 1428, b: 1428, c: 1428 }
      { id: 1429, a: 1429, b: 1429, c: 1429 }
      { id: 1430, a: 1430, b: 1430, c: 1430 }
      { id: 1431, a: 1431, b: 1431, c: 1431 }
      { id: 1432, a: 1432, b: 1432, c: 1432 }
      { id: 1433, a: 1433, b: 1433, c: 1433 }
      { id: 1434, a: 1434, b: 1434, c: 1434 }
      { id: 1435, a: 1435, b: 1435, c: 1435 }
      { id: 1436, a: 1436, b: 1436, c: 1436 }
      { id: 1437, a: 1437, b: 1437, c: 1437 }
      { id: 1438, a: 1438, b: 1438, c: 1438 }
      { id: 1439, a: 1439, b: 1439, c: 1439 }
      { id: 1440, a: 1440, b: 1440, c: 1440 }
      { id: 1441, a: 1441, b: 1441, c: 1441 }
      { id: 1442, a: 1442, b: 1442, c: 1442 }
      { id: 1443, a: 1443, b: 1443, c: 1443 }
      { id: 1444, a: 1444, b: 1444, c: 1444 }
      { id: 1445, a: 1445, b: 1445, c: 1445 }
      { id: 1446, a: 1446, b: 1446, c: 1446 }
      { id: 1447, a: 1447, b: 1447, c: 1447 }
      { id: 1448, a: 1448, b: 1448, c: 1448 }
      { id: 1449, a: 1449, b: 1449, c: 1449 }
      { id: 1450, a: 1450, b: 1450, c: 1450 }
      { id: 1451, a: 1451, b: 1451, c: 1451 }
      { id: 1452, a: 1452, b: 1452, c: 1452 }
      { id: 1453, a: 1453, b: 1453, c: 1453 }
      { id: 1454, a: 1454, b: 1454, c: 1454 }
      { id: 1455, a: 1455, b: 1455, c: 1455 }
      { id: 1456, a: 1456, b: 1456, c: 1456 }
      { id: 1457, a: 1457, b: 1457, c: 1457 }
      { id: 1458, a: 1458, b: 1458, c: 1458 }
      { id: 1459, a: 1459, b: 1459, c: 1459 }
      { id: 1460, a: 1460, b: 1460, c: 1460 }
      { id: 1461, a: 1461, b: 1461, c: 1461 }
      { id: 1462, a: 1462, b: 1462, c: 1462 }
      { id: 1463, a: 1463, b: 1463, c: 1463 }
      { id: 1464, a: 1464, b: 1464, c: 1464 }
      { id: 1465, a: 1465, b: 1465, c: 1465 }
      { id: 1466, a: 1466, b: 1466, c: 1466 }
      { id: 1467, a: 1467, b: 1467, c: 1467 }
      { id: 1468, a: 1468, b: 1468, c: 1468 }
      { id: 1469, a: 1469, b: 1469, c: 1469 }
      { id: 1470, a: 1470, b: 1470, c: 1470 }
      { id: 1471, a: 1471, b: 1471, c: 1471 }
      { id: 1472, a: 1472, b: 1472, c: 1472 }
      { id: 1473, a: 1473, b: 1473, c: 1473 }
      { id: 1474, a: 1474, b: 1474, c: 1474 }
      { id: 1475, a: 1475, b: 1475, c: 1475 }
      { id: 1476, a: 1476, b: 1476, c: 1476 }
      { id: 1477, a: 1477, b: 1477, c: 1477 }
      { id: 1478, a: 1478, b: 1478, c: 1478 }
      { id: 1479, a: 1479, b: 1479, c: 1479 }
      { id: 1480, a: 1480, b: 1480, c: 1480 }
      { id: 1481, a: 1481, b: 1481, c: 1481 }
      { id: 1482, a: 1482, b: 1482, c: 1482 }
      { id: 1483, a: 1483, b: 1483, c: 1483 }
      { id: 1484, a: 1484, b: 1484, c: 1484 }
      { id: 1485, a: 1485, b: 1485, c: 1485 }
      { id: 1486, a: 1486, b: 1486, c: 1486 }
      { id: 1487, a: 1487, b: 1487, c: 1487 }
      { id: 1488, a: 1488, b: 1488, c: 1488 }
      { id: 1489, a: 1489, b: 1489, c: 1489 }
      { id: 1490, a: 1490, b: 1490, c: 1490 }
      { id: 1491, a: 1491, b: 1491, c: 1491 }
      { id: 1492, a: 1492, b: 1492, c: 1492 }
      { id: 1493, a: 1493, b: 1493, c: 1493 }
      { id: 1494, a: 1494, b: 1494, c: 1494 }
      { id: 1495, a: 1495, b: 1495, c: 1495 }
      { id: 1496, a: 1496, b: 1496, c: 1496 }
      { id: 1497, a: 1497, b: 1497, c: 1497 }
      { id: 1498, a: 1498, b: 1498, c: 1498 }
      { id: 1499, a: 1499, b: 1499, c: 1499 }
      { id: 1500, a: 1500, b: 1500, c: 1500 }
      { id: 1501, a: 1501, b: 1501, c: 1501 }
      { id: 1502, a: 1502, b: 1502, c: 1502 }
      { id: 1503, a: 1503, b: 1503, c: 1503 }
      { id: 1504, a: 1504, b: 1504, c: 1504 }
      { id: 1505, a: 1505, b: 1505, c: 1505 }
      { id: 1506, a: 1506, b: 1506, c: 1506 }
      { id: 1507, a: 1507, b: 1507, c: 1507 }
      { id: 1508, a: 1508, b: 1508, c: 1508 }
      { id: 1509, a: 1509, b: 1509, c: 1509 }
      { id: 1510, a: 1510, b: 1510, c: 1510 }
      { id: 1511, a: 1511, b: 1511, c: 1511 }
      { id: 1512, a: 1512, b: 1512, c: 1512 }
      { id: 1513, a: 1513, b: 1513, c: 1513 }
      { id: 1514, a: 1514, b: 1514, c: 1514 }
      { id: 1515, a: 1515, b: 1515, c: 1515 }
      { id: 1516, a: 1516, b: 1516, c: 1516 }
      { id: 1517, a: 1517, b: 1517, c: 1517 }
      { id: 1518, a: 1518, b: 1518, c: 1518 }
      { id: 1519, a: 1519, b: 1519, c: 1519 }
      { id: 1520, a: 1520, b: 1520, c: 1520 }
      { id: 1521, a: 1521, b: 1521, c: 1521 }
      { id: 1522, a: 1522, b: 1522, c: 1522 }
      { id: 1523, a: 1523, b: 1523, c: 1523 }
      { id: 1524, a: 1524, b: 1524, c: 1524 }
      { id: 1525, a: 1525, b: 1525, c: 1525 }
      { id: 1526, a: 1526, b: 1526, c: 1526 }
      { id: 1527, a: 1527, b: 1527, c: 1527 }
      { id: 1528, a: 1528, b: 1528, c: 1528 }
      { id: 1529, a: 1529, b: 1529, c: 1529 }
      { id: 1530, a: 1530, b: 1530, c: 1530 }
      { id: 1531, a: 1531, b: 1531, c: 1531 }
      { id: 1532, a: 1532, b: 1532, c: 1532 }
      { id: 1533, a: 1533, b: 1533, c: 1533 }
      { id: 1534, a: 1534, b: 1534, c: 1534 }
      { id: 1535, a: 1535, b: 1535, c: 1535 }
      { id: 1536, a: 1536, b: 1536, c: 1536 }
      { id: 1537, a: 1537, b: 1537, c: 1537 }
      { id: 1538, a: 1538, b: 1538, c: 1538 }
      { id: 1539, a: 1539, b: 1539, c: 1539 }
      { id: 1540, a: 1540, b: 1540, c: 1540 }
      { id: 1541, a: 1541, b: 1541, c: 1541 }
      { id: 1542, a: 1542, b: 1542, c: 1542 }
      { id: 1543, a: 1543, b: 1543, c: 1543 }
      { id: 1544, a: 1544, b: 1544, c: 1544 }
      { id: 1545, a: 1545, b: 1545, c: 1545 }
      { id: 1546, a: 1546, b: 1546, c: 1546 }
      { id: 1547, a: 1547, b: 1547, c: 1547 }
      { id: 1548, a: 1548, b: 1548, c: 1548 }
      { id: 1549, a: 1549, b: 1549, c: 1549 }
      { id: 1550, a: 1550, b: 1550, c: 1550 }
      { id: 1551, a: 1551, b: 1551, c: 1551 }
      { id: 1552, a: 1552, b: 1552, c: 1552 }
      { id: 1553, a: 1553, b: 1553, c: 1553 }
      { id: 1554, a: 1554, b: 1554, c: 1554 }
      { id: 1555, a: 1555, b: 1555, c: 1555 }
      { id: 1556, a: 1556, b: 1556, c: 1556 }
      { id: 1557, a: 1557, b: 1557, c: 1557 }
      { id: 1558, a: 1558, b: 1558, c: 1558 }
      { id: 1559, a: 1559, b: 1559, c: 1559 }
      { id: 1560, a: 1560, b: 1560, c: 1560 }
      { id: 1561, a: 1561, b: 1561, c: 1561 }
      { id: 1562, a: 1562, b: 1562, c: 1562 }
      { id: 1563, a: 1563, b: 1563, c: 1563 }
      { id: 1564, a: 1564, b: 1564, c: 1564 }
      { id: 1565, a: 1565, b: 1565, c: 1565 }
      { id: 1566, a: 1566, b: 1566, c: 1566 }
      { id: 1567, a: 1567, b: 1567, c: 1567 }
      { id: 1568, a: 1568, b: 1568, c: 1568 }
      { id: 1569, a: 1569, b: 1569, c: 1569 }
      { id: 1570, a: 1570, b: 1570, c: 1570 }
      { id: 1571, a: 1571, b: 1571, c: 1571 }
      { id: 1572, a: 1572, b: 1572, c: 1572 }
      { id: 1573, a: 1573, b: 1573, c: 1573 }
      { id: 1574, a: 1574, b: 1574, c: 1574 }
      { id: 1575, a: 1575, b: 1575, c: 1575 }
      { id: 1576, a: 1576, b: 1576, c: 1576 }
      { id: 1577, a: 1577, b: 1577, c: 1577 }
      { id: 1578, a: 1578, b: 1578, c: 1578 }
      { id: 1579, a: 1579, b: 1579, c: 1579 }
      { id: 1580, a: 1580, b: 1580, c: 1580 }
      { id: 1581, a: 1581, b: 1581, c: 1581 }
      { id: 1582, a: 1582, b: 1582, c: 1582 }
      { id: 1583, a: 1583, b: 1583, c: 1583 }
      { id: 1584, a: 1584, b: 1584, c: 1584 }
      { id: 1585, a: 1585, b: 1585, c: 1585 }
      { id: 1586, a: 1586, b: 1586, c: 1586 }
      { id: 1587, a: 1587, b: 1587, c: 1587 }
      { id: 1588, a: 1588, b: 1588, c: 1588 }
      { id: 1589, a: 1589, b: 1589, c: 1589 }
      { id: 1590, a: 1590, b: 1590, c: 1590 }
      { id: 1591, a: 1591, b: 1591, c: 1591 }
      { id: 1592, a: 1592, b: 1592, c: 1592 }
      { id: 1593, a: 1593, b: 1593, c: 1593 }
      { id: 1594, a: 1594, b: 1594, c: 1594 }
      { id: 1595, a: 1595, b: 1595, c: 1595 }
      { id: 1596, a: 1596, b: 1596, c: 1596 }
      { id: 1597, a: 1597, b: 1597, c: 1597 }
      { id: 1598, a: 1598, b: 1598, c: 1598 }
      { id: 1599, a: 1599, b: 1599, c: 1599 }
      { id: 1600, a: 1600, b: 1600, c: 1600 }
      { id: 1601, a: 1601, b: 1601, c: 1601 }
      { id: 1602, a: 1602, b: 1602, c: 1602 }
      { id: 1603, a: 1603, b: 1603, c: 1603 }
      { id: 1604, a: 1604, b: 1604, c: 1604 }
      { id: 1605, a: 1605, b: 1605, c: 1605 }
      { id: 1606, a: 1606, b: 1606, c: 1606 }
      { id: 1607, a: 1607, b: 1607, c: 1607 }
      { id: 1608, a: 1608, b: 1608, c: 1608 }
      { id: 1609, a: 1609, b: 1609, c: 1609 }
      { id: 1610, a: 1610, b: 1610, c: 1610 }
      { id: 1611, a: 1611, b: 1611, c: 1611 }
      { id: 1612, a: 1612, b: 1612, c: 1612 }
      { id: 1613, a: 1613, b: 1613, c: 1613 }
      { id: 1614, a: 1614, b: 1614, c: 1614 }
      { id: 1615, a: 1615, b: 1615, c: 1615 }
      { id: 1616, a: 1616, b: 1616, c: 1616 }
      { id: 1617, a: 1617, b: 1617, c: 1617 }
      { id: 1618, a: 1618, b: 1618, c: 1618 }
      { id: 1619, a: 1619, b: 1619, c: 1619 }
      { id: 1620, a: 1620, b: 1620, c: 1620 }
      { id: 1621, a: 1621, b: 1621, c: 1621 }
      { id: 1622, a: 1622, b: 1622, c: 1622 }
      { id: 1623, a: 1623, b: 1623, c: 1623 }
      { id: 1624, a: 1624, b: 1624, c: 1624 }
      { id: 1625, a: 1625, b: 1625, c: 1625 }
      { id: 1626, a: 1626, b: 1626, c: 1626 }
      { id: 1627, a: 1627, b: 1627, c: 1627 }
      { id: 1628, a: 1628, b: 1628, c: 1628 }
      { id: 1629, a: 1629, b: 1629, c: 1629 }
      { id: 1630, a: 1630, b: 1630, c: 1630 }
      { id: 1631, a: 1631, b: 1631, c: 1631 }
      { id: 1632, a: 1632, b: 1632, c: 1632 }
      { id: 1633, a: 1633, b: 1633, c: 1633 }
      { id: 1634, a: 1634, b: 1634, c: 1634 }
      { id: 1635, a: 1635, b: 1635, c: 1635 }
      { id: 1636, a: 1636, b: 1636, c: 1636 }
      { id: 1637, a: 1637, b: 1637, c: 1637 }
      { id: 1638, a: 1638, b: 1638, c: 1638 }
      { id: 1639, a: 1639, b: 1639, c: 1639 }
      { id: 1640, a: 1640, b: 1640, c: 1640 }
      { id: 1641, a: 1641, b: 1641, c: 1641 }
      { id: 1642, a: 1642, b: 1642, c: 1642 }
      { id: 1643, a: 1643, b: 1643, c: 1643 }
      { id: 1644, a: 1644, b: 1644, c: 1644 }
      { id: 1645, a: 1645, b: 1645, c: 1645 }
      { id: 1646, a: 1646, b: 1646, c: 1646 }
      { id: 1647, a: 1647, b: 1647, c: 1647 }
      { id: 1648, a: 1648, b: 1648, c: 1648 }
      { id: 1649, a: 1649, b: 1649, c: 1649 }
      { id: 1650, a: 1650, b: 1650, c: 1650 }
      { id: 1651, a: 1651, b: 1651, c: 1651 }
      { id: 1652, a: 1652, b: 1652, c: 1652 }
      { id: 1653, a: 1653, b: 1653, c: 1653 }
      { id: 1654, a: 1654, b: 1654, c: 1654 }
      { id: 1655, a: 1655, b: 1655, c: 1655 }
      { id: 1656, a: 1656, b: 1656, c: 1656 }
      { id: 1657, a: 1657, b: 1657, c: 1657 }
      { id: 1658, a: 1658, b: 1658, c: 1658 }
      { id: 1659, a: 1659, b: 1659, c: 1659 }
      { id: 1660, a: 1660, b: 1660, c: 1660 }
      { id: 1661, a: 1661, b: 1661, c: 1661 }
      { id: 1662, a: 1662, b: 1662, c: 1662 }
      { id: 1663, a: 1663, b: 1663, c: 1663 }
      { id: 1664, a: 1664, b: 1664, c: 1664 }
      { id: 1665, a: 1665, b: 1665, c: 1665 }
      { id: 1666, a: 1666, b: 1666, c: 1666 }
      { id: 1667, a: 1667, b: 1667, c: 1667 }
      { id: 1668, a: 1668, b: 1668, c: 1668 }
      { id: 1669, a: 1669, b: 1669, c: 1669 }
      { id: 1670, a: 1670, b: 1670, c: 1670 }
      { id: 1671, a: 1671, b: 1671, c: 1671 }
      { id: 1672, a: 1672, b: 1672, c: 1672 }
      { id: 1673, a: 1673, b: 1673, c: 1673 }
      { id: 1674, a: 1674, b: 1674, c: 1674 }
      { id: 1675, a: 1675, b: 1675, c: 1675 }
      { id: 1676, a: 1676, b: 1676, c: 1676 }
      { id: 1677, a: 1677, b: 1677, c: 1677 }
      { id: 1678, a: 1678, b: 1678, c: 1678 }
      { id: 1679, a: 1679, b: 1679, c: 1679 }
      { id: 1680, a: 1680, b: 1680, c: 1680 }
      { id: 1681, a: 1681, b: 1681, c: 1681 }
      { id: 1682, a: 1682, b: 1682, c: 1682 }
      { id: 1683, a: 1683, b: 1683, c: 1683 }
      { id: 1684, a: 1684, b: 1684, c: 1684 }
      { id: 1685, a: 1685, b: 1685, c: 1685 }
      { id: 1686, a: 1686, b: 1686, c: 1686 }
      { id: 1687, a: 1687, b: 1687, c: 1687 }
      { id: 1688, a: 1688, b: 1688, c: 1688 }
      { id: 1689, a: 1689, b: 1689, c: 1689 }
      { id: 1690, a: 1690, b: 1690, c: 1690 }
      { id: 1691, a: 1691, b: 1691, c: 1691 }
      { id: 1692, a: 1692, b: 1692, c: 1692 }
      { id: 1693, a: 1693, b: 1693, c: 1693 }
      { id: 1694, a: 1694, b: 1694, c: 1694 }
      { id: 1695, a: 1695, b: 1695, c: 1695 }
      { id: 1696, a: 1696, b: 1696, c: 1696 }
      { id: 1697, a: 1697, b: 1697, c: 1697 }
      { id: 1698, a: 1698, b: 1698, c: 1698 }
      { id: 1699, a: 1699, b: 1699, c: 1699 }
      { id: 1700, a: 1700, b: 1700, c: 1700 }
      { id: 1701, a: 1701, b: 1701, c: 1701 }
      { id: 1702, a: 1702, b: 1702, c: 1702 }
      { id: 1703, a: 1703, b: 1703, c: 1703 }
      { id: 1704, a: 1704, b: 1704, c: 1704 }
      { id: 1705, a: 1705, b: 1705, c: 1705 }
      { id: 1706, a: 1706, b: 1706, c: 1706 }
      { id: 1707, a: 1707, b: 1707, c: 1707 }
      { id: 1708, a: 1708, b: 1708, c: 1708 }
      { id: 1709, a: 1709, b: 1709, c: 1709 }
      { id: 1710, a: 1710, b: 1710, c: 1710 }
      { id: 1711, a: 1711, b: 1711, c: 1711 }
      { id: 1712, a: 1712, b: 1712, c: 1712 }
      { id: 1713, a: 1713, b: 1713, c: 1713 }
      { id: 1714, a: 1714, b: 1714, c: 1714 }
      { id: 1715, a: 1715, b: 1715, c: 1715 }
      { id: 1716, a: 1716, b: 1716, c: 1716 }
      { id: 1717, a: 1717, b: 1717, c: 1717 }
      { id: 1718, a: 1718, b: 1718, c: 1718 }
      { id: 1719, a: 1719, b: 1719, c: 1719 }
      { id: 1720, a: 1720, b: 1720, c: 1720 }
      { id: 1721, a: 1721, b: 1721, c: 1721 }
      { id: 1722, a: 1722, b: 1722, c: 1722 }
      { id: 1723, a: 1723, b: 1723, c: 1723 }
      { id: 1724, a: 1724, b: 1724, c: 1724 }
      { id: 1725, a: 1725, b: 1725, c: 1725 }
      { id: 1726, a: 1726, b: 1726, c: 1726 }
      { id: 1727, a: 1727, b: 1727, c: 1727 }
      { id: 1728, a: 1728, b: 1728, c: 1728 }
      { id: 1729, a: 1729, b: 1729, c: 1729 }
      { id: 1730, a: 1730, b: 1730, c: 1730 }
      { id: 1731, a: 1731, b: 1731, c: 1731 }
      { id: 1732, a: 1732, b: 1732, c: 1732 }
      { id: 1733, a: 1733, b: 1733, c: 1733 }
      { id: 1734, a: 1734, b: 1734, c: 1734 }
      { id: 1735, a: 1735, b: 1735, c: 1735 }
      { id: 1736, a: 1736, b: 1736, c: 1736 }
      { id: 1737, a: 1737, b: 1737, c: 1737 }
      { id: 1738, a: 1738, b: 1738, c: 1738 }
      { id: 1739, a: 1739, b: 1739, c: 1739 }
      { id: 1740, a: 1740, b: 1740, c: 1740 }
      { id: 1741, a: 1741, b: 1741, c: 1741 }
      { id: 1742, a: 1742, b: 1742, c: 1742 }
      { id: 1743, a: 1743, b: 1743, c: 1743 }
      { id: 1744, a: 1744, b: 1744, c: 1744 }
      { id: 1745, a: 1745, b: 1745, c: 1745 }
      { id: 1746, a: 1746, b: 1746, c: 1746 }
      { id: 1747, a: 1747, b: 1747, c: 1747 }
      { id: 1748, a: 1748, b: 1748, c: 1748 }
      { id: 1749, a: 1749, b: 1749, c: 1749 }
      { id: 1750, a: 1750, b: 1750, c: 1750 }
      { id: 1751, a: 1751, b: 1751, c: 1751 }
      { id: 1752, a: 1752, b: 1752, c: 1752 }
      { id: 1753, a: 1753, b: 1753, c: 1753 }
      { id: 1754, a: 1754, b: 1754, c: 1754 }
      { id: 1755, a: 1755, b: 1755, c: 1755 }
      { id: 1756, a: 1756, b: 1756, c: 1756 }
      { id: 1757, a: 1757, b: 1757, c: 1757 }
      { id: 1758, a: 1758, b: 1758, c: 1758 }
      { id: 1759, a: 1759, b: 1759, c: 1759 }
      { id: 1760, a: 1760, b: 1760, c: 1760 }
      { id: 1761, a: 1761, b: 1761, c: 1761 }
      { id: 1762, a: 1762, b: 1762, c: 1762 }
      { id: 1763, a: 1763, b: 1763, c: 1763 }
      { id: 1764, a: 1764, b: 1764, c: 1764 }
      { id: 1765, a: 1765, b: 1765, c: 1765 }
      { id: 1766, a: 1766, b: 1766, c: 1766 }
      { id: 1767, a: 1767, b: 1767, c: 1767 }
      { id: 1768, a: 1768, b: 1768, c: 1768 }
      { id: 1769, a: 1769, b: 1769, c: 1769 }
      { id: 1770, a: 1770, b: 1770, c: 1770 }
      { id: 1771, a: 1771, b: 1771, c: 1771 }
      { id: 1772, a: 1772, b: 1772, c: 1772 }
      { id: 1773, a: 1773, b: 1773, c: 1773 }
      { id: 1774, a: 1774, b: 1774, c: 1774 }
      { id: 1775, a: 1775, b: 1775, c: 1775 }
      { id: 1776, a: 1776, b: 1776, c: 1776 }
      { id: 1777, a: 1777, b: 1777, c: 1777 }
      { id: 1778, a: 1778, b: 1778, c: 1778 }
      { id: 1779, a: 1779, b: 1779, c: 1779 }
      { id: 1780, a: 1780, b: 1780, c: 1780 }
      { id: 1781, a: 1781, b: 1781, c: 1781 }
      { id: 1782, a: 1782, b: 1782, c: 1782 }
      { id: 1783, a: 1783, b: 1783, c: 1783 }
      { id: 1784, a: 1784, b: 1784, c: 1784 }
      { id: 1785, a: 1785, b: 1785, c: 1785 }
      { id: 1786, a: 1786, b: 1786, c: 1786 }
      { id: 1787, a: 1787, b: 1787, c: 1787 }
      { id: 1788, a: 1788, b: 1788, c: 1788 }
      { id: 1789, a: 1789, b: 1789, c: 1789 }
      { id: 1790, a: 1790, b: 1790, c: 1790 }
      { id: 1791, a: 1791, b: 1791, c: 1791 }
      { id: 1792, a: 1792, b: 1792, c: 1792 }
      { id: 1793, a: 1793, b: 1793, c: 1793 }
      { id: 1794, a: 1794, b: 1794, c: 1794 }
      { id: 1795, a: 1795, b: 1795, c: 1795 }
      { id: 1796, a: 1796, b: 1796, c: 1796 }
      { id: 1797, a: 1797, b: 1797, c: 1797 }
      { id: 1798, a: 1798, b: 1798, c: 1798 }
      { id: 1799, a: 1799, b: 1799, c: 1799 }
      { id: 1800, a: 1800, b: 1800, c: 1800 }
      { id: 1801, a: 1801, b: 1801, c: 1801 }
      { id: 1802, a: 1802, b: 1802, c: 1802 }
      { id: 1803, a: 1803, b: 1803, c: 1803 }
      { id: 1804, a: 1804, b: 1804, c: 1804 }
      { id: 1805, a: 1805, b: 1805, c: 1805 }
      { id: 1806, a: 1806, b: 1806, c: 1806 }
      { id: 1807, a: 1807, b: 1807, c: 1807 }
      { id: 1808, a: 1808, b: 1808, c: 1808 }
      { id: 1809, a: 1809, b: 1809, c: 1809 }
      { id: 1810, a: 1810, b: 1810, c: 1810 }
      { id: 1811, a: 1811, b: 1811, c: 1811 }
      { id: 1812, a: 1812, b: 1812, c: 1812 }
      { id: 1813, a: 1813, b: 1813, c: 1813 }
      { id: 1814, a: 1814, b: 1814, c: 1814 }
      { id: 1815, a: 1815, b: 1815, c: 1815 }
      { id: 1816, a: 1816, b: 1816, c: 1816 }
      { id: 1817, a: 1817, b: 1817, c: 1817 }
      { id: 1818, a: 1818, b: 1818, c: 1818 }
      { id: 1819, a: 1819, b: 1819, c: 1819 }
      { id: 1820, a: 1820, b: 1820, c: 1820 }
      { id: 1821, a: 1821, b: 1821, c: 1821 }
      { id: 1822, a: 1822, b: 1822, c: 1822 }
      { id: 1823, a: 1823, b: 1823, c: 1823 }
      { id: 1824, a: 1824, b: 1824, c: 1824 }
      { id: 1825, a: 1825, b: 1825, c: 1825 }
      { id: 1826, a: 1826, b: 1826, c: 1826 }
      { id: 1827, a: 1827, b: 1827, c: 1827 }
      { id: 1828, a: 1828, b: 1828, c: 1828 }
      { id: 1829, a: 1829, b: 1829, c: 1829 }
      { id: 1830, a: 1830, b: 1830, c: 1830 }
      { id: 1831, a: 1831, b: 1831, c: 1831 }
      { id: 1832, a: 1832, b: 1832, c: 1832 }
      { id: 1833, a: 1833, b: 1833, c: 1833 }
      { id: 1834, a: 1834, b: 1834, c: 1834 }
      { id: 1835, a: 1835, b: 1835, c: 1835 }
      { id: 1836, a: 1836, b: 1836, c: 1836 }
      { id: 1837, a: 1837, b: 1837, c: 1837 }
      { id: 1838, a: 1838, b: 1838, c: 1838 }
      { id: 1839, a: 1839, b: 1839, c: 1839 }
      { id: 1840, a: 1840, b: 1840, c: 1840 }
      { id: 1841, a: 1841, b: 1841, c: 1841 }
      { id: 1842, a: 1842, b: 1842, c: 1842 }
      { id: 1843, a: 1843, b: 1843, c: 1843 }
      { id: 1844, a: 1844, b: 1844, c: 1844 }
      { id: 1845, a: 1845, b: 1845, c: 1845 }
      { id: 1846, a: 1846, b: 1846, c: 1846 }
      { id: 1847, a: 1847, b: 1847, c: 1847 }
      { id: 1848, a: 1848, b: 1848, c: 1848 }
      { id: 1849, a: 1849, b: 1849, c: 1849 }
      { id: 1850, a: 1850, b: 1850, c: 1850 }
      { id: 1851, a: 1851, b: 1851, c: 1851 }
      { id: 1852, a: 1852, b: 1852, c: 1852 }
      { id: 1853, a: 1853, b: 1853, c: 1853 }
      { id: 1854, a: 1854, b: 1854, c: 1854 }
      { id: 1855, a: 1855, b: 1855, c: 1855 }
      { id: 1856, a: 1856, b: 1856, c: 1856 }
      { id: 1857, a: 1857, b: 1857, c: 1857 }
      { id: 1858, a: 1858, b: 1858, c: 1858 }
      { id: 1859, a: 1859, b: 1859, c: 1859 }
      { id: 1860, a: 1860, b: 1860, c: 1860 }
      { id: 1861, a: 1861, b: 1861, c: 1861 }
      { id: 1862, a: 1862, b: 1862, c: 1862 }
      { id: 1863, a: 1863, b: 1863, c: 1863 }
      { id: 1864, a: 1864, b: 1864, c: 1864 }
      { id: 1865, a: 1865, b: 1865, c: 1865 }
      { id: 1866, a: 1866, b: 1866, c: 1866 }
      { id: 1867, a: 1867, b: 1867, c: 1867 }
      { id: 1868, a: 1868, b: 1868, c: 1868 }
      { id: 1869, a: 1869, b: 1869, c: 1869 }
      { id: 1870, a: 1870, b: 1870, c: 1870 }
      { id: 1871, a: 1871, b: 1871, c: 1871 }
      { id: 1872, a: 1872, b: 1872, c: 1872 }
      { id: 1873, a: 1873, b: 1873, c: 1873 }
      { id: 1874, a: 1874, b: 1874, c: 1874 }
      { id: 1875, a: 1875, b: 1875, c: 1875 }
      { id: 1876, a: 1876, b: 1876, c: 1876 }
      { id: 1877, a: 1877, b: 1877, c: 1877 }
      { id: 1878, a: 1878, b: 1878, c: 1878 }
      { id: 1879, a: 1879, b: 1879, c: 1879 }
      { id: 1880, a: 1880, b: 1880, c: 1880 }
      { id: 1881, a: 1881, b: 1881, c: 1881 }
      { id: 1882, a: 1882, b: 1882, c: 1882 }
      { id: 1883, a: 1883, b: 1883, c: 1883 }
      { id: 1884, a: 1884, b: 1884, c: 1884 }
      { id: 1885, a: 1885, b: 1885, c: 1885 }
      { id: 1886, a: 1886, b: 1886, c: 1886 }
      { id: 1887, a: 1887, b: 1887, c: 1887 }
      { id: 1888, a: 1888, b: 1888, c: 1888 }
      { id: 1889, a: 1889, b: 1889, c: 1889 }
      { id: 1890, a: 1890, b: 1890, c: 1890 }
      { id: 1891, a: 1891, b: 1891, c: 1891 }
      { id: 1892, a: 1892, b: 1892, c: 1892 }
      { id: 1893, a: 1893, b: 1893, c: 1893 }
      { id: 1894, a: 1894, b: 1894, c: 1894 }
      { id: 1895, a: 1895, b: 1895, c: 1895 }
      { id: 1896, a: 1896, b: 1896, c: 1896 }
      { id: 1897, a: 1897, b: 1897, c: 1897 }
      { id: 1898, a: 1898, b: 1898, c: 1898 }
      { id: 1899, a: 1899, b: 1899, c: 1899 }
      { id: 1900, a: 1900, b: 1900, c: 1900 }
      { id: 1901, a: 1901, b: 1901, c: 1901 }
      { id: 1902, a: 1902, b: 1902, c: 1902 }
      { id: 1903, a: 1903, b: 1903, c: 1903 }
      { id: 1904, a: 1904, b: 1904, c: 1904 }
      { id: 1905, a: 1905, b: 1905, c: 1905 }
      { id: 1906, a: 1906, b: 1906, c: 1906 }
      { id: 1907, a: 1907, b: 1907, c: 1907 }
      { id: 1908, a: 1908, b: 1908, c: 1908 }
      { id: 1909, a: 1909, b: 1909, c: 1909 }
      { id: 1910, a: 1910, b: 1910, c: 1910 }
      { id: 1911, a: 1911, b: 1911, c: 1911 }
      { id: 1912, a: 1912, b: 1912, c: 1912 }
      { id: 1913, a: 1913, b: 1913, c: 1913 }
      { id: 1914, a: 1914, b: 1914, c: 1914 }
      { id: 1915, a: 1915, b: 1915, c: 1915 }
      { id: 1916, a: 1916, b: 1916, c: 1916 }
      { id: 1917, a: 1917, b: 1917, c: 1917 }
      { id: 1918, a: 1918, b: 1918, c: 1918 }
      { id: 1919, a: 1919, b: 1919, c: 1919 }
      { id: 1920, a: 1920, b: 1920, c: 1920 }
      { id: 1921, a: 1921, b: 1921, c: 1921 }
      { id: 1922, a: 1922, b: 1922, c: 1922 }
      { id: 1923, a: 1923, b: 1923, c: 1923 }
      { id: 1924, a: 1924, b: 1924, c: 1924 }
      { id: 1925, a: 1925, b: 1925, c: 1925 }
      { id: 1926, a: 1926, b: 1926, c: 1926 }
      { id: 1927, a: 1927, b: 1927, c: 1927 }
      { id: 1928, a: 1928, b: 1928, c: 1928 }
      { id: 1929, a: 1929, b: 1929, c: 1929 }
      { id: 1930, a: 1930, b: 1930, c: 1930 }
      { id: 1931, a: 1931, b: 1931, c: 1931 }
      { id: 1932, a: 1932, b: 1932, c: 1932 }
      { id: 1933, a: 1933, b: 1933, c: 1933 }
      { id: 1934, a: 1934, b: 1934, c: 1934 }
      { id: 1935, a: 1935, b: 1935, c: 1935 }
      { id: 1936, a: 1936, b: 1936, c: 1936 }
      { id: 1937, a: 1937, b: 1937, c: 1937 }
      { id: 1938, a: 1938, b: 1938, c: 1938 }
      { id: 1939, a: 1939, b: 1939, c: 1939 }
      { id: 1940, a: 1940, b: 1940, c: 1940 }
      { id: 1941, a: 1941, b: 1941, c: 1941 }
      { id: 1942, a: 1942, b: 1942, c: 1942 }
      { id: 1943, a: 1943, b: 1943, c: 1943 }
      { id: 1944, a: 1944, b: 1944, c: 1944 }
      { id: 1945, a: 1945, b: 1945, c: 1945 }
      { id: 1946, a: 1946, b: 1946, c: 1946 }
      { id: 1947, a: 1947, b: 1947, c: 1947 }
      { id: 1948, a: 1948, b: 1948, c: 1948 }
      { id: 1949, a: 1949, b: 1949, c: 1949 }
      { id: 1950, a: 1950, b: 1950, c: 1950 }
      { id: 1951, a: 1951, b: 1951, c: 1951 }
      { id: 1952, a: 1952, b: 1952, c: 1952 }
      { id: 1953, a: 1953, b: 1953, c: 1953 }
      { id: 1954, a: 1954, b: 1954, c: 1954 }
      { id: 1955, a: 1955, b: 1955, c: 1955 }
      { id: 1956, a: 1956, b: 1956, c: 1956 }
      { id: 1957, a: 1957, b: 1957, c: 1957 }
      { id: 1958, a: 1958, b: 1958, c: 1958 }
      { id: 1959, a: 1959, b: 1959, c: 1959 }
      { id: 1960, a: 1960, b: 1960, c: 1960 }
      { id: 1961, a: 1961, b: 1961, c: 1961 }
      { id: 1962, a: 1962, b: 1962, c: 1962 }
      { id: 1963, a: 1963, b: 1963, c: 1963 }
      { id: 1964, a: 1964, b: 1964, c: 1964 }
      { id: 1965, a: 1965, b: 1965, c: 1965 }
      { id: 1966, a: 1966, b: 1966, c: 1966 }
      { id: 1967, a: 1967, b: 1967, c: 1967 }
      { id: 1968, a: 1968, b: 1968, c: 1968 }
      { id: 1969, a: 1969, b: 1969, c: 1969 }
      { id: 1970, a: 1970, b: 1970, c: 1970 }
      { id: 1971, a: 1971, b: 1971, c: 1971 }
      { id: 1972, a: 1972, b: 1972, c: 1972 }
      { id: 1973, a: 1973, b: 1973, c: 1973 }
      { id: 1974, a: 1974, b: 1974, c: 1974 }
      { id: 1975, a: 1975, b: 1975, c: 1975 }
      { id: 1976, a: 1976, b: 1976, c: 1976 }
      { id: 1977, a: 1977, b: 1977, c: 1977 }
      { id: 1978, a: 1978, b: 1978, c: 1978 }
      { id: 1979, a: 1979, b: 1979, c: 1979 }
      { id: 1980, a: 1980, b: 1980, c: 1980 }
      { id: 1981, a: 1981, b: 1981, c: 1981 }
      { id: 1982, a: 1982, b: 1982, c: 1982 }
      { id: 1983, a: 1983, b: 1983, c: 1983 }
      { id: 1984, a: 1984, b: 1984, c: 1984 }
      { id: 1985, a: 1985, b: 1985, c: 1985 }
      { id: 1986, a: 1986, b: 1986, c: 1986 }
      { id: 1987, a: 1987, b: 1987, c: 1987 }
      { id: 1988, a: 1988, b: 1988, c: 1988 }
      { id: 1989, a: 1989, b: 1989, c: 1989 }
      { id: 1990, a: 1990, b: 1990, c: 1990 }
      { id: 1991, a: 1991, b: 1991, c: 1991 }
      { id: 1992, a: 1992, b: 1992, c: 1992 }
      { id: 1993, a: 1993, b: 1993, c: 1993 }
      { id: 1994, a: 1994, b: 1994, c: 1994 }
      { id: 1995, a: 1995, b: 1995, c: 1995 }
      { id: 1996, a: 1996, b: 1996, c: 1996 }
      { id: 1997, a: 1997, b: 1997, c: 1997 }
      { id: 1998, a: 1998, b: 1998, c: 1998 }
      { id: 1999, a: 1999, b: 1999, c: 1999 }
    ]
  ) {
    count
  }
}

@pimeys
Copy link
Contributor

pimeys commented Aug 11, 2021

@Alwigi are you somewhere in our public slack for some questions? I'd also want to know is this still an issue with 2.29.0?

@Alwigi
Copy link
Author

Alwigi commented Aug 11, 2021

@pimeys I am not on your public slack, not sure what that is. I will upgrade to 2.29.0 tomorrow and revert here.
BTW that was a very slick reproduction you created :-)

@pimeys
Copy link
Contributor

pimeys commented Aug 11, 2021

You can join our Slack here: https://www.prisma.io/community

It's a chat platform and much easier for me to ping you for questions :)

@pimeys
Copy link
Contributor

pimeys commented Aug 11, 2021

Summary of the problem so far: certain failing queries will cancel the transaction immediately, and when we call ROLLBACK the transaction is already dead. One of these queries is that big one above, which crosses the limit of allowed parameters in a prepared statement. The query destroys the transaction, and what we see is an error for failed rollback for a transaction that doesn't exist anymore.

Digging a bit deeper for the best solution, it's not obvious yet even though I have a "fix" here already.

@pimeys
Copy link
Contributor

pimeys commented Aug 11, 2021

Even lower level reproduction, no need for prisma: https://gist.github.com/pimeys/04db6266fc33a8b0f7da553ce3e57a62

@pimeys
Copy link
Contributor

pimeys commented Aug 11, 2021

The PR above will close this issue. When that happens, you can see if the error still happens. If it does, the error now tells us what is actually broken, and I'd like you to open up a new issue then.

We should not swallow errors on rollback, and this specific query what I found will cancel the running transaction early, meaning our ROLLBACK will just fail and the error in this issue is the error from the failing ROLLBACK.

@Alwigi
Copy link
Author

Alwigi commented Aug 12, 2021

@pimeys Thanks for the input!
I think I follow what the problem/fix is, my only concern is that in my case there is no reason for the query to fail in the first place ie. should not need to rollback anything, but anyway I'll test with 2.30 and re-log if necessary,

Thanks Prisma team!!

@pimeys
Copy link
Contributor

pimeys commented Aug 12, 2021

There is a very big possibility we have a buggy query. What we need is the real error.

@pimeys
Copy link
Contributor

pimeys commented Aug 12, 2021

Could you try the latest dev build to see if the problem still persists:

https://www.npmjs.com/package/prisma/v/2.30.0-dev.11

@Alwigi
Copy link
Author

Alwigi commented Aug 13, 2021

I have tried v2.30.0-dev.11 and I no longer see the issue, thanks!
I will keep an eye on and let you know if I have any further problems.

@pimeys
Copy link
Contributor

pimeys commented Aug 13, 2021

Please do. You have an immediate attention for errors related to this, I'll push it past the normal sprint schedule due to SQL Server support going to GA soon.

@Alwigi
Copy link
Author

Alwigi commented Aug 13, 2021

Out of interest, I downgraded back to 2.27.0 and now I do not see the error using the same code that gave the problem 100% of the time previously...I can't explain it.
Anyway I am just glad it's sorted, I will continue my dev with v2.30.0-dev-11 and let you know if there's any problems.

@luomavaltteri
Copy link

Howdy. We are seeing this issue also in a simple GraphQL mutation when the length of variables in the mutation grows to a certain amount, maybe around 1000 characters in total. (using "prisma": "^2.30.3")

@pimeys
Copy link
Contributor

pimeys commented Sep 8, 2021

Uh. So do you get the exact transaction descriptor problem described in the issue? This was already solved by not crashing if the ROLLBACK crashes and is caused by a mutation having too many variables, which makes SQL Server to rollback the transaction automatically, and crashing the following ROLLBACK we do...

This should not be an issue anymore, but having too many variables for sure is.

@pantharshit00
Copy link
Contributor

@luomavaltteri Can you please share a minimal reproduction? Also, give 3.0.1 a shot if you can.

@luomavaltteri
Copy link

Updated to 3.0.1 and now getting a better error message: ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(TokenError { code: 1946, state: 3, class: 16, message: "Operation failed. The index entry of length 2069 bytes for the index '<index_name>' exceeds the maximum length of 1700 bytes for nonclustered indexes.", server: "5e7d0dc7e5e6", procedure: "", line: 1 }) })

So I guess that solves it 👍

@pimeys
Copy link
Contributor

pimeys commented Sep 8, 2021

Yep, I guessed right it's the ROLLBACK we do not short-circuit anymore, and this is your real error.

@pimeys
Copy link
Contributor

pimeys commented Sep 8, 2021

Btw, careful with 3.0.1, it's having a certain upgrade path you should read about, especially if you didn't use the referentialActions or namedConstraints features.

https://www.prisma.io/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug/0-unknown Bug is new, does not have information for reproduction or reproduction could not be confirmed. kind/bug A reported bug. team/schema Issue for team Schema. topic: sql server Microsoft SQL Server
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants