Ejemplo n.º 1
0
def restoreCoreModels():
	from SimpleSession.versions.v45 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSw1OfYdxA1UJYmFsbFNjYWxlcQRLDUc/0AAAAAAAAH2HcQVVFHJpYmJvbkhpZGVzTWFpbmNoYWlucQZLDYh9h3EHVQlwb2ludFNpemVxCEsNRz/wAAAAAAAAfYdxCVUEbmFtZXEKSw1VEENVX2RpYWdvbl83MS5wZGJ9cQsoVRFDVV9kaWFnb25fMTYzLnBkYnEMXXENSwNhVRBDVV9kaWFnb25fMTkucGRicQ5dcQ9LBGFVEENVX2RpYWdvbl83Mi5wZGJxEF1xEUsKYVUQQ1VfZGlhZ29uXzc0LnBkYnESXXETSwxhVRBDVV9kaWFnb25fNDYucGRicRRdcRVLCGFVEUNVX2RpYWdvbl8xMTIucGRicRZdcRdLAGFVEENVX2RpYWdvbl8zNy5wZGJxGF1xGUsGYVURQ1VfZGlhZ29uXzExMy5wZGJxGl1xG0sBYVUQQ1VfZGlhZ29uXzI5LnBkYnEcXXEdSwVhVRFDVV9kaWFnb25fMTM0LnBkYnEeXXEfSwJhVRBDVV9kaWFnb25fNzMucGRicSBdcSFLC2FVEENVX2RpYWdvbl80NS5wZGJxIl1xI0sHYXWHcSRVD2Fyb21hdGljRGlzcGxheXElSw2JfYdxJlUFY29sb3JxJ0sNSwB9cSgoSwFdcSlLAWFLAl1xKksCYUsDXXErSwNhSwRdcSxLBGFLBV1xLUsFYUsGXXEuSwZhSwddcS9LB2FLCF1xMEsIYUsJXXExSwlhSwpdcTJLCmFLC11xM0sLYUsMXXE0SwxhdYdxNVUIb3B0aW9uYWxxNn1xN1UIb3BlbmVkQXNxOIhLDShVOi9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DVS9zcGF0aWFsL0NVX2RpYWdvbl80Ni5wZGJVA1BEQnE5Tol0cTp9cTsoKFU7L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0NVL3NwYXRpYWwvQ1VfZGlhZ29uXzExMy5wZGJoOU6JdHE8XXE9SwFhKFU6L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0NVL3NwYXRpYWwvQ1VfZGlhZ29uXzcyLnBkYmg5Tol0cT5dcT9LCmEoVTovaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQ1Uvc3BhdGlhbC9DVV9kaWFnb25fNzMucGRiaDlOiXRxQF1xQUsLYShVOi9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DVS9zcGF0aWFsL0NVX2RpYWdvbl80NS5wZGJoOU6JdHFCXXFDSwdhKFU6L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0NVL3NwYXRpYWwvQ1VfZGlhZ29uXzcxLnBkYmg5Tol0cURdcUVLCWEoVTovaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQ1Uvc3BhdGlhbC9DVV9kaWFnb25fNzQucGRiaDlOiXRxRl1xR0sMYShVOi9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DVS9zcGF0aWFsL0NVX2RpYWdvbl8yOS5wZGJoOU6JdHFIXXFJSwVhKFU6L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0NVL3NwYXRpYWwvQ1VfZGlhZ29uXzM3LnBkYmg5Tol0cUpdcUtLBmEoVTovaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQ1Uvc3BhdGlhbC9DVV9kaWFnb25fMTkucGRiaDlOiXRxTF1xTUsEYShVOy9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DVS9zcGF0aWFsL0NVX2RpYWdvbl8xNjMucGRiaDlOiXRxTl1xT0sDYShVOy9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DVS9zcGF0aWFsL0NVX2RpYWdvbl8xMTIucGRiaDlOiXRxUF1xUUsAYShVOy9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DVS9zcGF0aWFsL0NVX2RpYWdvbl8xMzQucGRiaDlOiXRxUl1xU0sCYXWHhnFUc1UKcGRiSGVhZGVyc3FVXXFWKH1xV31xWH1xWX1xWn1xW31xXH1xXX1xXn1xX31xYH1xYX1xYn1xY2VVDGFyb21hdGljTW9kZXFkSw1LAX2HcWVVA2lkc3FmSw1LCUsAhn1xZyhLAEsAhnFoXXFpSwBhSwdLAIZxal1xa0sHYUsMSwCGcWxdcW1LDGFLA0sAhnFuXXFvSwNhSwhLAIZxcF1xcUsIYUsGSwCGcXJdcXNLBmFLC0sAhnF0XXF1SwthSwJLAIZxdl1xd0sCYUsFSwCGcXhdcXlLBWFLCksAhnF6XXF7SwphSwFLAIZxfF1xfUsBYUsESwCGcX5dcX9LBGF1h3GAVQ5zdXJmYWNlT3BhY2l0eXGBSw1Hv/AAAAAAAAB9h3GCVQlhdXRvY2hhaW5xg0sNiH2HcYRVCnZkd0RlbnNpdHlxhUsNR0AUAAAAAAAAfYdxhlUNYXJvbWF0aWNDb2xvcnGHSw1OfYdxiFUGaGlkZGVucYlLDYl9h3GKVQlsaW5lV2lkdGhxi0sNRz/wAAAAAAAAfYdxjFUKc3RpY2tTY2FsZXGNSw1HP/AAAAAAAAB9h3GOVQdkaXNwbGF5cY9LDYh9h3GQVRBhcm9tYXRpY0xpbmVUeXBlcZFLDUsCfYdxknUu'))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksaVQEgfYdxA1ULZmlsbERpc3BsYXlxBEsaiX2HcQVVBG5hbWVxBksaVQFDfXEHVQFVXXEIKEsBSwNLBUsHSwlLC0sNSw9LEUsTSxVLF0sZZXOHcQlVBWNoYWlucQpLGlUBQX1xC1UBQk5dcQwoSwFLAYZxDUsDSwGGcQ5LBUsBhnEPSwdLAYZxEEsJSwGGcRFLC0sBhnESSw1LAYZxE0sPSwGGcRRLEUsBhnEVSxNLAYZxFksVSwGGcRdLF0sBhnEYSxlLAYZxGWWGcRpzh3EbVQ5yaWJib25EcmF3TW9kZXEcSxpLAn2HcR1VAnNzcR5LGomJiYd9h3EfVQhtb2xlY3VsZXEgSxpLAH1xIShLAU5dcSJLAksChnEjYYZxJEsCTl1xJUsESwKGcSZhhnEnSwNOXXEoSwZLAoZxKWGGcSpLBE5dcStLCEsChnEsYYZxLUsFTl1xLksKSwKGcS9hhnEwSwZOXXExSwxLAoZxMmGGcTNLB05dcTRLDksChnE1YYZxNksITl1xN0sQSwKGcThhhnE5SwlOXXE6SxJLAoZxO2GGcTxLCk5dcT1LFEsChnE+YYZxP0sLTl1xQEsWSwKGcUFhhnFCSwxOXXFDSxhLAoZxRGGGcUV1h3FGVQtyaWJib25Db2xvcnFHSxpOfYdxSFUFbGFiZWxxSUsaVQB9h3FKVQpsYWJlbENvbG9ycUtLGk59h3FMVQhmaWxsTW9kZXFNSxpLAX2HcU5VBWlzSGV0cU9LGol9h3FQVQtsYWJlbE9mZnNldHFRSxpOfYdxUlUIcG9zaXRpb25xU11xVChLAUsChnFVSwFLAoZxVksBSwKGcVdLAUsChnFYSwFLAoZxWUsBSwKGcVpLAUsChnFbSwFLAoZxXEsBSwKGcV1LAUsChnFeSwFLAoZxX0sBSwKGcWBLAUsChnFhZVUNcmliYm9uRGlzcGxheXFiSxqJfYdxY1UIb3B0aW9uYWxxZH1xZVUEc3NJZHFmSxpK/////32HcWd1Lg=='))
	atomInfo = cPickle.loads(base64.b64decode('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'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVhdG9tc3ECXXEDKF1xBChLKEsnZV1xBShLKEspZV1xBihLKEsqZV1xByhLK0sqZV1xCChLK0ssZV1xCShLLUssZV1xCihLLkssZV1xCyhLK0svZV1xDChLL0swZV1xDShLMEsxZV1xDihLMEsnZV1xDyhLL0syZV1xEChLM0snZV1xEShLNUs0ZV1xEihLNUs2ZV1xEyhLN0s2ZV1xFChLN0s4ZV1xFShLN0s5ZV1xFihLOUs6ZV1xFyhLOUs7ZV1xGChLO0s0ZV1xGShLO0s8ZV1xGihLPUs2ZV1xGyhLNUs+ZV1xHChLP0s0ZV1xHShLQUtAZV1xHihLQktBZV1xHyhLQktDZV1xIChLREtCZV1xIShLREtFZV1xIihLRktFZV1xIyhLRktHZV1xJChLRktAZV1xJShLREtIZV1xJihLSUtIZV1xJyhLSktIZV1xKChLQUtLZV1xKShLTEtAZV1xKihLTktNZV1xKyhLTktPZV1xLChLUEtPZV1xLShLUEtRZV1xLihLUUtSZV1xLyhLUktTZV1xMChLUktNZV1xMShLUUtUZV1xMihLUEtVZV1xMyhLVktPZV1xNChLTktXZV1xNShLWEtNZV1xNihLWktZZV1xNyhLWktbZV1xOChLWktcZV1xOShLXUtcZV1xOihLXUteZV1xOyhLX0teZV1xPChLYEteZV1xPShLXUthZV1xPihLYUtiZV1xPyhLYUtjZV1xQChLY0tkZV1xQShLY0tZZV1xQihLZUtZZV1xQyhLZ0tmZV1xRChLZ0toZV1xRShLaUtnZV1xRihLaktpZV1xRyhLaktrZV1xSChLbEtrZV1xSShLbEttZV1xSihLbEtmZV1xSyhLbktrZV1xTChLaktvZV1xTShLaUtwZV1xTihLcUtmZV1xTyhLc0tyZV1xUChLdEtzZV1xUShLdEt1ZV1xUihLdkt0ZV1xUyhLdkt3ZV1xVChLeEt3ZV1xVShLeUt3ZV1xVihLdkt6ZV1xVyhLe0t6ZV1xWChLe0tyZV1xWShLe0t8ZV1xWihLc0t9ZV1xWyhLfktyZV1xXChLgEt/ZV1xXShLgEuBZV1xXihLgkuBZV1xXyhLgkuDZV1xYChLg0uEZV1xYShLg0uFZV1xYihLhUuGZV1xYyhLhUt/ZV1xZChLgkuHZV1xZShLiEuBZV1xZihLgEuJZV1xZyhLikt/ZV1xaChLjEuLZV1xaShLjEuNZV1xaihLjEuOZV1xayhLj0uOZV1xbChLj0uQZV1xbShLkEuRZV1xbihLkUuSZV1xbyhLkUuLZV1xcChLkEuTZV1xcShLj0uUZV1xcihLlUuUZV1xcyhLlkuUZV1xdChLl0uLZV1xdShLmUuYZV1xdihLmkuZZV1xdyhLm0uaZV1xeChLm0ucZV1xeShLm0udZV1xeihLnkudZV1xeyhLn0udZV1xfChLn0ugZV1xfShLn0uYZV1xfihLmkuhZV1xfyhLmUuiZV1xgChLo0uYZV1xgShLpUukZV1xgihLpkulZV1xgyhLpkunZV1xhChLqEumZV1xhShLqEupZV1xhihLqkupZV1xhyhLqkukZV1xiChLqkurZV1xiShLqEusZV1xiihLrUusZV1xiyhLrkusZV1xjChLpUuvZV1xjShLsEukZV1xjihLskuxZV1xjyhLskuzZV1xkChLtEuyZV1xkShLtEu1ZV1xkihLtku0ZV1xkyhLtku3ZV1xlChLuEu3ZV1xlShLuUu3ZV1xlihLuUuxZV1xlyhLuUu6ZV1xmChLtku7ZV1xmShLvEuxZV1xmihLvku9ZV1xmyhLv0u9ZV1xnChLv0vAZV1xnShLv0vBZV1xnihLwkvBZV1xnyhLwkvDZV1xoChLxEvDZV1xoShLxUvDZV1xoihLwkvGZV1xoyhLxkvHZV1xpChLx0u9ZV1xpShLx0vIZV1xpihLxkvJZV1xpyhLy0vKZV1xqChLy0vMZV1xqShLzUvLZV1xqihLzkvNZV1xqyhLzkvPZV1xrChL0EvPZV1xrShL0UvPZV1xrihL0UvKZV1xryhL0UvSZV1xsChLzkvTZV1xsShLzUvUZV1xsihL1UvKZV1xsyhL10vWZV1xtChL10vYZV1xtShL10vZZV1xtihL2kvZZV1xtyhL2kvbZV1xuChL20vcZV1xuShL20vdZV1xuihL3UveZV1xuyhL3UvWZV1xvChL2kvfZV1xvShL4EvfZV1xvihL4UvfZV1xvyhL4kvWZV1xwChL5EvjZV1xwShL5EvlZV1xwihL5kvlZV1xwyhL50vlZV1xxChL50voZV1xxShL50vpZV1xxihL6UvqZV1xxyhL6UvrZV1xyChL60vjZV1xyShL60vsZV1xyihL5EvtZV1xyyhL7kvjZV1xzChL8EvvZV1xzShL8EvxZV1xzihL8kvwZV1xzyhL80vyZV1x0ChL80v0ZV1x0ShL9Uv0ZV1x0ihL9UvvZV1x0yhL9Uv2ZV1x1ChL80v3ZV1x1ShL+Ev3ZV1x1ihL+Uv3ZV1x1yhL8kv6ZV1x2ChL+0vvZV1x2ShL/Uv8ZV1x2ihL/kv9ZV1x2yhL/0v+ZV1x3ChL/00AAWVdcd0oS/9NAQFlXXHeKE0CAU0BAWVdcd8oTQMBTQEBZV1x4ChNAwFNBAFlXXHhKE0DAUv8ZV1x4ihL/k0FAWVdceMoS/1NBgFlXXHkKE0HAUv8ZV1x5ShNCQFNCAFlXXHmKE0KAU0IAWVdcecoTQsBTQoBZV1x6ChNDAFNCwFlXXHpKE0MAU0NAWVdceooTQ4BTQ0BZV1x6yhNDwFNDQFlXXHsKE0MAU0QAWVdce0oTREBTRABZV1x7ihNEQFNEgFlXXHvKE0RAU0IAWVdcfAoTQsBTRMBZV1x8ShNCgFNFAFlXXHyKE0WAU0VAWVdcfMoTRYBTRcBZV1x9ChNGAFNFgFlXXH1KE0YAU0ZAWVdcfYoTRoBTRgBZV1x9yhNGgFNGwFlXXH4KE0cAU0bAWVdcfkoTRwBTRUBZV1x+ihNHAFNHQFlXXH7KE0eAU0bAWVdcfwoTRoBTR8BZV1x/ShNIAFNFQFlXXH+KE0iAU0hAWVdcf8oTSMBTSEBZV1yAAEAAChNIwFNJAFlXXIBAQAAKE0jAU0lAWVdcgIBAAAoTSYBTSUBZV1yAwEAAChNJgFNJwFlXXIEAQAAKE0oAU0nAWVdcgUBAAAoTSkBTScBZV1yBgEAAChNJgFNKgFlXXIHAQAAKE0qAU0rAWVdcggBAAAoTSsBTSwBZV1yCQEAAChNKwFNIQFlXXIKAQAAKE0qAU0tAWVdcgsBAAAoTS8BTS4BZV1yDAEAAChNLwFNMAFlXXINAQAAKE0xAU0vAWVdcg4BAAAoTTEBTTIBZV1yDwEAAChNMwFNMQFlXXIQAQAAKE0zAU00AWVdchEBAAAoTTMBTTUBZV1yEgEAAChNNgFNNQFlXXITAQAAKE03AU01AWVdchQBAAAoTTcBTTgBZV1yFQEAAChNNwFNLgFlXXIWAQAAKE05AU0uAWVdchcBAAAoTTsBTToBZV1yGAEAAChNPAFNOgFlXXIZAQAAKE09AU08AWVdchoBAAAoTT0BTT4BZV1yGwEAAChNPwFNPQFlXXIcAQAAKE0/AU1AAWVdch0BAAAoTUEBTUABZV1yHgEAAChNQgFNQAFlXXIfAQAAKE0/AU1DAWVdciABAAAoTUQBTUMBZV1yIQEAAChNRAFNRQFlXXIiAQAAKE1EAU06AWVdciMBAAAoTTwBTUYBZV1yJAEAAChNSAFNRwFlXXIlAQAAKE1IAU1JAWVdciYBAAAoTUoBTUkBZV1yJwEAAChNSwFNSQFlXXIoAQAAKE1LAU1MAWVdcikBAAAoTUwBTU0BZV1yKgEAAChNTAFNTgFlXXIrAQAAKE1OAU1PAWVdciwBAAAoTU4BTUcBZV1yLQEAAChNSwFNUAFlXXIuAQAAKE1IAU1RAWVdci8BAAAoTVIBTUcBZV1yMAEAAChNVAFNUwFlXXIxAQAAKE1VAU1TAWVdcjIBAAAoTVYBTVUBZV1yMwEAAChNVwFNVgFlXXI0AQAAKE1XAU1YAWVdcjUBAAAoTVkBTVgBZV1yNgEAAChNWQFNUwFlXXI3AQAAKE1ZAU1aAWVdcjgBAAAoTVcBTVsBZV1yOQEAAChNXAFNWwFlXXI6AQAAKE1dAU1bAWVdcjsBAAAoTVYBTV4BZV1yPAEAAChNVQFNXwFlXXI9AQAAKE1hAU1gAWVdcj4BAAAoTWIBTWEBZV1yPwEAAChNYwFNYgFlXXJAAQAAKE1jAU1kAWVdckEBAAAoTWUBTWQBZV1yQgEAAChNZQFNYAFlXXJDAQAAKE1lAU1mAWVdckQBAAAoTWcBTWQBZV1yRQEAAChNYwFNaAFlXXJGAQAAKE1iAU1pAWVdckcBAAAoTWEBTWoBZV1ySAEAAChNawFNYAFlZVUFbGFiZWxySQEAAE1FAVUAfYdySgEAAFUGcmFkaXVzcksBAABNRQFHP8mZmaAAAAB9h3JMAQAAVQtsYWJlbE9mZnNldHJNAQAATUUBTn2Hck4BAABVCGRyYXdNb2Rlck8BAABNRQFLAX2HclABAABVCG9wdGlvbmFsclEBAAB9clIBAABVB2Rpc3BsYXlyUwEAAE1FAUsCfYdyVAEAAHUu'))
	crdInfo = cPickle.loads(base64.b64decode('gAJ9cQEoSwB9cQIoSwBdcQMoSydVEzMzLjk5NyAtMC4wODIgMTkuMziGcQRLKFUUMzQuMTE3IC0xLjQ2NCAxOS4zMzWGcQVLKVUUMzMuNTI4IC0yLjEyOCAyMC4yMTWGcQZLKlUTMzQuODczIC0yLjAyIDE4LjM1OIZxB0srVRIzNS41OSAtMS4zMSAxNy40ODiGcQhLLFUUMzYuMzA0IC0xLjkxOSAxNi41MzSGcQlLLVUUMzYuODM5IC0xLjM3NiAxNS44ODaGcQpLLlUUMzYuMzAzIC0yLjkxNyAxNi40NjmGcQtLL1UTMzUuNDYzIDAuMTI2IDE3LjUyN4ZxDEswVRMzNC43MDIgMC43MDggMTguNDcyhnENSzFVEzM0LjYzNiAxLjgwNSAxOC41MjiGcQ5LMlUTMzUuOTg4IDAuNzQ1IDE2Ljc4NYZxD0szVRIzMy40MiAwLjM0NCAyMC4wNzeGcRBLNFUUMzIuMzQyIC03LjQxMiAxOC41ODSGcRFLNVUUMzIuMzIxIC02LjE2OSAxNy45NzaGcRJLNlUUMzMuMDExIC02LjA3NiAxNi43ODmGcRNLN1UUMzMuNjg5IC03LjEwMiAxNi4xNjWGcRRLOFUUMzQuMjk2IC02LjkwNCAxNS4wODGGcRVLOVUUMzMuNjEzIC04LjM5OCAxNi44MTGGcRZLOlUTMzQuMDY1IC05LjI4OSAxNi4zNYZxF0s7VRMzMi45NyAtOC40NzggMTcuOTk2hnEYSzxVEzMyLjk1IC05LjQ0OCAxOC41MTWGcRlLPVUUMzMuMDIyIC01LjE4NCAxNi4zMziGcRpLPlUUMzEuNjg3IC01LjI0NCAxOC40NTSGcRtLP1UUMzEuODYxIC03LjUwNSAxOS40NTaGcRxlVQZhY3RpdmVxHUsAdUsBfXEeKEsAXXEfKEtAVRM1My41NDIgNy4zNjIgMjEuNjc3hnEgS0FVEzUzLjgxMSA2LjAxNCAyMS43NzaGcSFLQlUTNTMuMjQ1IDUuMjcxIDIyLjcyNYZxIktDVRE1My41MTEgNC4yMSAyMi44NIZxI0tEVRI1Mi4yOSA1Ljg3NiAyMy41ODaGcSRLRVUTNTIuMTEzIDcuMjAxIDIzLjU3M4ZxJUtGVRM1Mi43MDQgNy45NjggMjIuNjE5hnEmS0dVEzUyLjU5MyA5LjIxNCAyMi41OTeGcSdLSFUTNTEuNjA2IDUuMTQxIDI0LjQ4OIZxKEtJVRM1MS43MjMgNC4xNDggMjQuNTE2hnEpS0pVEzUwLjk4MiA1LjU4OSAyNS4xMjiGcSpLS1UTNTQuNTAzIDUuNTQ1IDIxLjA2MYZxK0tMVRM1My45ODIgNy45MjMgMjAuOTc1hnEsS01VEzQ2LjgyNSA5LjUxOSAyMy41NDaGcS1LTlUTNDcuNTk0IDguNDY0IDIzLjEwOIZxLktPVRM0Ny4yNzQgNy4yMzcgMjMuNjU5hnEvS1BVEzQ2LjIyNyA2Ljk1NiAyNC41MDWGcTBLUVUTNDUuNDM2IDguMDk2IDI0LjkwNoZxMUtSVRM0NS43ODUgOS4zMDEgMjQuNDMyhnEyS1NVEzQ1LjIwNiAxMC4xNzMgMjQuNzeGcTNLVFUTNDQuNTc0IDcuOTc5IDI1LjU3OYZxNEtVVRM0Ni4wOTQgNS44MDUgMjQuOTM0hnE1S1ZVEzQ3Ljg2OSA2LjQ3MSAyMy40MTaGcTZLV1UTNDguNDg2IDguNzAzIDIyLjMwN4ZxN0tYVRM0Ny4wNiAxMC40MjEgMjMuMTg0hnE4ZWgdSwB1SwJ9cTkoSwBdcTooS1lVFDE4LjIzMyAyNS44MDEgMjMuOTAxhnE7S1pVFDE5LjM0NyAyNi4xNjMgMjMuMTE4hnE8S1tVEjE5LjUzIDI3LjM3MiAyMi45M4ZxPUtcVRQyMC4xNTkgMjUuMjIzIDIyLjU4OIZxPktdVRQxOS44OTcgMjMuOTM0IDIyLjgxMYZxP0teVRQyMC43NTkgMjMuMDM2IDIyLjMwNIZxQEtfVRQyMC42MDQgMjIuMDU4IDIyLjQ0NoZxQUtgVRQyMS41NTYgMjMuMzQ2IDIxLjc4NYZxQkthVRQxOC43NTUgMjMuNTI2IDIzLjU3OIZxQ0tiVRMxOC41NDggMjIuNDYxIDIzLjc2hnFES2NVEzE3Ljk1IDI0LjQ3NiAyNC4wNjWGcUVLZFUSMTcuMDQgMjQuMTgzIDI0LjYxhnFGS2VVFDE3LjY2NSAyNi41MzQgMjQuMjc1hnFHS2ZVFDI1LjE0OCAyNy45MjcgMjIuMzY3hnFIS2dVEzI2LjI3MSAyNy40OTUgMjEuNzGGcUlLaFUTMjYuOTEgMjguMjM1IDIxLjIwNoZxSktpVRQyNi42MTMgMjYuMjA4IDIxLjY2MoZxS0tqVRMyNS44NyAyNS4yMzkgMjIuNDAxhnFMS2tVFDI0LjgwMiAyNS43NDggMjMuMTI5hnFNS2xVEzI0LjM5IDI3LjA1NSAyMy4xMjGGcU5LbVUUMjMuNDM0IDI3LjQ2OCAyMy43NjKGcU9LblUUMjQuMjkzIDI1LjEwOSAyMy43MDWGcVBLb1UUMjYuMTAyIDI0LjAzMSAyMi40NDaGcVFLcFUUMjcuNDcxIDI1Ljg5MSAyMS4wNTGGcVJLcVUUMjQuODUzIDI4Ljg4MyAyMi4zNzaGcVNlaB1LAHVLA31xVChLAF1xVShLclUULTE0LjA0MiAzLjg3MSAyNi43MDOGcVZLc1UULTE0LjMxNyAyLjU1NyAyNi40NziGcVdLdFUULTEzLjMxNiAxLjYwOSAyNi42ODiGcVhLdVUULTEzLjUwMSAwLjUzOSAyNi41MTOGcVlLdlUULTEyLjA0MyAyLjA3MiAyNy4xMziGcVpLd1UULTExLjA0OSAxLjE5NCAyNy4zNjKGcVtLeFUULTEwLjE2MiAxLjUxNyAyNy42OTGGcVxLeVUULTExLjE5NyAwLjIxOSAyNy4xOTmGcV1LelUULTExLjc5NCAzLjM1MSAyNy4zNjmGcV5Le1UULTEyLjc4NiA0LjI3MyAyNy4xMDOGcV9LfFUTLTEyLjU3NSA1LjQ2OCAyNy4xN4ZxYEt9VRQtMTUuMzE1IDIuMjQ3IDI2LjEzNYZxYUt+VRQtMTQuNzQyIDQuNTc3IDI2LjU5N4ZxYkt/VRMtOS40NDEgNS42MTcgMzEuMzE4hnFjS4BVFC0xMC4yMTYgNC41MjYgMzEuMTMxhnFkS4FVEy05LjUzNiAzLjI5NSAzMS4xNjeGcWVLglUTLTguMTkxIDMuMTI1IDMxLjQ5NIZxZkuDVRMtNy40ODEgNC4zMjEgMzEuODA1hnFnS4RVEi02LjQzOSA0LjI3IDMyLjE1M4ZxaEuFVRMtOC4wODUgNS41MDEgMzEuNjcyhnFpS4ZVEy03LjUwMiA2LjQxOCAzMS44NDWGcWpLh1UTLTcuNzQyIDEuOTY5IDMxLjU0MYZxa0uIVRMtMTAuMDYgMi40NzQgMzAuOTM5hnFsS4lVEi0xMS40MiA0LjU5NyAzMC45NoZxbUuKVRMtOS44NDkgNi41MjEgMzEuMTkzhnFuZWgdSwB1SwR9cW8oSwBdcXAoS4tVFDEwLjM5MiAzMy44MjcgNjQuNzkxhnFxS4xVFDExLjcxMSAzMy45MTQgNjUuMjQyhnFyS41VFDEyLjEzOCAzNS4wMDYgNjUuNjQxhnFzS45VFDEyLjQ4NSAzMi44MTMgNjUuMjIxhnF0S49VFDExLjk1NiAzMS42NTcgNjQuODI5hnF1S5BVFDEwLjYxNiAzMS41NDggNjQuMzc0hnF2S5FVEzkuODU5IDMyLjY1NCA2NC4zNDWGcXdLklUTOC44MjYgMzIuNjE1IDYzLjk2OYZxeEuTVRQxMC4yMDggMzAuNTc5IDY0LjA1MYZxeUuUVRQxMi43NzIgMzAuNjA1IDY0LjgzN4ZxekuVVRQxMi40MzMgMjkuNzA4IDY0LjU1M4Zxe0uWVRQxMy43MjMgMzAuNzEyIDY1LjEyN4ZxfEuXVRI5Ljg1IDM0LjY2NyA2NC44MDKGcX1LmFUUMTUuNjkxIDM0LjU0OCA2OS43MjGGcX5LmVUUMTYuNzM2IDMzLjY2NyA2OS44OTWGcX9LmlUUMTYuNjA0IDMyLjM0MyA2OS43NjaGcYBLm1USMTUuMzM0IDMxLjggNjkuMzk0hnGBS5xVFDE1LjA4OCAzMC42MTMgNjkuMTg5hnGCS51VEzE0LjMyNSAzMi43MyA2OS4yMzmGcYNLnlUQMTMuNDIyIDMyLjM3MyA2OYZxhEufVRQxNC40MjggMzQuMDkzIDY5LjM3NoZxhUugVRQxMy40NzQgMzQuODQ1IDY5LjIyN4ZxhkuhVRQxNy40NjIgMzEuNjc4IDY5Ljk0NYZxh0uiVRQxNy43MjYgMzQuMDcyIDcwLjE1MoZxiEujVRQxNS43OTQgMzUuNTM2IDY5LjgzNYZxiWVoHUsAdUsFfXGKKEsAXXGLKEukVRMyOC4yNSAtMi44NzQgLTAuMjc0hnGMS6VVEzI4LjMxMiAtMS43MDIgMC40MzSGcY1LplUSMjguNzc4IC0xLjY3NyAxLjY5hnGOS6dVEjI4LjgyMSAtMC43NCAyLjI2NIZxj0uoVRIyOS4yMTYgLTIuOTEgMi4yNTSGcZBLqVUTMjkuMTY0IC00LjA1NSAxLjU3M4ZxkUuqVRIyOC42ODEgLTQuMDcxIDAuMzGGcZJLq1UUMjguNjAzIC01LjExNiAtMC4zNDaGcZNLrFUTMjkuNjk4IC0yLjk0MyAzLjUwMYZxlEutVRMzMC4wMDYgLTMuODA5IDMuODk1hnGVS65VEzI5Ljc1MSAtMi4xMDIgNC4wMzmGcZZLr1UUMjcuOTc0IC0wLjc2NyAtMC4wMzaGcZdLsFUSMjcuODg5IC0yLjkgLTEuMjA2hnGYS7FVEzMxLjcxMSAtOS40MzUgMC40NjaGcZlLslUTMzIuMzA4IC05LjkxNCAxLjYxM4ZxmkuzVRQzMi4yNTIgLTEwLjk5MiAxLjgyNIZxm0u0VRMzMi45NTEgLTkuMTI2IDIuNDc4hnGcS7VVEzMzLjQxMiAtOS41NTYgMy4zNzmGcZ1LtlUTMzMuMDM4IC03LjcxOSAyLjIyOIZxnku3VRMzMi40NDQgLTcuMzA0IDEuMDU0hnGfS7hVEzMyLjUwMSAtNi4zMjcgMC44NDeGcaBLuVUTMzEuNzgzIC04LjA4NyAwLjEzOYZxoUu6VRQzMS4zMDcgLTcuNjI2IC0wLjg4MoZxoku7VRMzMy41MzUgLTYuODg0IDIuOTgxhnGjS7xVFTMxLjIwNCAtMTAuMDM3IC0wLjE1MYZxpGVoHUsAdUsGfXGlKEsAXXGmKEu9VRQyNS45NTYgMTcuNzIxIDMwLjA1NYZxp0u+VRQyNC45NjYgMTcuODYzIDMwLjA0NYZxqEu/VRQyNi43MzkgMTguNjkyIDMwLjY0OYZxqUvAVRQyNi4xODIgMTkuNjk4IDMxLjExM4ZxqkvBVRQyOC4wNzQgMTguNTI3IDMwLjcwN4Zxq0vCVRQyOC42MzIgMTcuNDQ2IDMwLjE5M4ZxrEvDVRQyOS45NTUgMTcuMzIyIDMwLjMxMYZxrUvEVRQzMC40MTcgMTYuNTE5IDI5LjkzNoZxrkvFVRQzMC40ODQgMTguMDMyIDMwLjc3NYZxr0vGVRQyNy44NjIgMTYuNDM5IDI5LjU0NoZxsEvHVRQyNi41MzIgMTYuNjE0IDI5LjUwOIZxsUvIVRQyNS44OTggMTUuODUzIDI5LjAyOYZxskvJVRQyOC4zMzcgMTUuNTU1IDI5LjA5NoZxs0vKVRMyOC44NzEgMjEuNjUgMzUuNTQ1hnG0S8tVFDMwLjIxNyAyMS45NDQgMzUuNjczhnG1S8xVFDMwLjUxMSAyMi45NjEgMzUuOTcyhnG2S81VFDMxLjE3OCAyMS4wMzMgMzUuNDQ1hnG3S85VEzMwLjgxMyAxOS43MSAzNS4wNDSGcbhLz1UUMjkuNDU4IDE5LjQ5MSAzNC45MjiGcblL0FUUMjkuMTc4IDE4LjU3MyAzNC42NDiGcbpL0VUUMjguNDQ4IDIwLjM5OCAzNS4xNTWGcbtL0lUTMjcuMjcgMjAuMTEyIDM1LjAyOYZxvEvTVRMzMS41OSAxOC43OTMgMzQuNzY5hnG9S9RVFDMyLjIzNyAyMS4zMDMgMzUuNTY2hnG+S9VVFDI4LjE1NyAyMi4zMTggMzUuNzU0hnG/ZWgdSwB1Swd9ccAoSwBdccEoS9ZVEi0zLjk2MyAwLjcxNSAyNi40OYZxwkvXVRMtNS4xMjYgMC4wMzcgMjYuMDcxhnHDS9hVFC01LjQ3NCAtMC45NzkgMjYuNzI0hnHES9lVES01Ljc4IDAuNDcgMjQuOTYxhnHFS9pVEy01LjQyNSAxLjU3MSAyNC4zMDOGccZL21USLTQuMjIyIDIuMjYgMjQuNjc0hnHHS9xVEi0zLjg3MiAzLjE0IDI0LjExNIZxyEvdVRMtMy41MjggMS43ODIgMjUuNzQ4hnHJS95VEy0yLjU4NCAyLjI3MiAyNi4wMjiGccpL31UTLTYuMTQ2IDEuOTU5IDIzLjIyMYZxy0vgVRMtNi45MzUgMS40MTkgMjIuOTI2hnHMS+FVEy01Ljg4OSAyLjc4NSAyMi43MTmGcc1L4lUTLTMuNDg3IDAuMzYxIDI3LjI5NYZxzkvjVRQtMTEuMDUgLTEuNTc1IDI2LjA5NYZxz0vkVRUtMTAuMjk2IC0wLjQxOSAyNi4xODWGcdBL5VUULTEwLjQ5NCAwLjU2MSAyNS4yMjGGcdFL5lUTLTkuOTQxIDEuMzkxIDI1LjI5NIZx0kvnVRQtMTEuMzkxIDAuNDg5IDI0LjE2N4Zx00voVRQtMTEuNTMxIDEuNDczIDIzLjQyNoZx1EvpVRUtMTIuMjA2IC0wLjcwMSAyNC4xNzKGcdVL6lUVLTEzLjAwNSAtMC44MTIgMjMuNDI0hnHWS+tVFS0xMi4wMDQgLTEuNjg0IDI1LjA4MoZx10vsVRUtMTIuNjEyIC0yLjU5OSAyNS4wMjGGcdhL7VUULTkuNDkzIC0wLjI3NSAyNy4xMTGGcdlL7lUVLTEwLjkwNiAtMi4yOTggMjYuNzcxhnHaZWgdSwB1Swh9cdsoSwBdcdwoS+9VFS0yMi4wMDYgMTguNjk5IDMwLjI4OYZx3UvwVRQtMjAuOTMyIDE5LjE1IDMxLjAyM4Zx3kvxVRUtMjAuNDU0IDIwLjEwMSAzMC43NDaGcd9L8lUVLTIwLjQ0NiAxOC40NDQgMzIuMDg3hnHgS/NVFC0yMS4xNSAxNy4yNTMgMzIuNDc4hnHhS/RVFS0yMi4yNDkgMTYuODc0IDMxLjgxNYZx4kv1VRMtMjIuNyAxNy41NTMgMzAuNzE3hnHjS/ZVFS0yMy43MzYgMTcuMjE1IDMwLjA4M4Zx5Ev3VRUtMjAuNzE4IDE2LjU1MyAzMy41NDeGceVL+FUTLTIxLjIyIDE1Ljc0MyAzMy44NYZx5kv5VRUtMTkuODk2IDE2Ljg0NCAzNC4wMzaGcedL+lUVLTE5LjU0NiAxOC43NzYgMzIuNjI2hnHoS/tVFC0yMi4zNDIgMTkuMTkgMjkuNDg1hnHpS/xVFS0yNC4yNzYgMTEuNjUxIDMwLjY3MoZx6kv9VRItMjQuMzk4IDEwLjcgMzEuNjmGcetL/lUULTIzLjQyMSAxMC40NiAzMi41OTWGcexL/1UVLTIyLjIyMyAxMS4yNjIgMzIuNTc4hnHtTQABVRUtMjEuMjM0IDExLjE5MiAzMy4zMzWGce5NAQFVFS0yMi4xNjYgMTIuMTc2IDMxLjU0NoZx700CAVUULTIxLjM0MiAxMi43NCAzMS40OTiGcfBNAwFVFS0yMy4xMjQgMTIuNDAxIDMwLjU2N4Zx8U0EAVUVLTIyLjk0OCAxMy4yMzUgMjkuNjY2hnHyTQUBVRMtMjMuNTQgOS42NTggMzMuMzM5hnHzTQYBVRUtMjUuMzMxIDEwLjEyMSAzMS43NTiGcfRNBwFVFS0yNC45OTQgMTEuODA2IDI5Ljk5M4Zx9WVoHUsAdUsJfXH2KEsAXXH3KE0IAVUTMTkuNjI3IDE1LjIwMyAzLjY4MoZx+E0JAVUTMTguOTY3IDE1LjkxNyAzLjQ0OYZx+U0KAVUTMjAuNzY5IDE1LjQ2MyA0LjM4OYZx+k0LAVUTMjEuNjQyIDE0LjQ4MSA0LjY3NIZx+00MAVUTMjEuMzE4IDEzLjE1NiA0LjIwNIZx/E0NAVUTMjIuMTI1IDEyLjEzNSA0LjQyM4Zx/U0OAVUTMjEuODgyIDExLjIyNSA0LjA4N4Zx/k0PAVUTMjIuOTc5IDEyLjI3MSA0LjkyNYZx/00QAVUTMjAuMTk1IDEyLjkwNCAzLjUyOIZyAAEAAE0RAVUTMTkuMzQxIDEzLjkwNyAzLjI1NYZyAQEAAE0SAVUTMTguMjgxIDEzLjcyOSAyLjYyNIZyAgEAAE0TAVUTMjIuNTYzIDE0LjY3OSA1LjI0MYZyAwEAAE0UAVUTMjAuOTc2IDE2LjQ4OSA0LjcyOYZyBAEAAE0VAVUUMTcuMjg0IDEwLjI2OCAtMS4wNjKGcgUBAABNFgFVEzE3Ljc5NiA5LjAwMiAtMS4wNTGGcgYBAABNFwFVETE3LjE1IDguMTYzIC0xLjM1hnIHAQAATRgBVRIxOS4wNjIgOC43NSAtMC42ODeGcggBAABNGQFVEjE5LjQ0IDcuNzE3IC0wLjY2MoZyCQEAAE0aAVUTMTkuOTEzIDkuODQ0IC0wLjMzMoZyCgEAAE0bAVUTMTkuMzMxIDExLjA4IC0wLjM5NIZyCwEAAE0cAVUUMTguMDQ5IDExLjM2NCAtMC43MzWGcgwBAABNHQFVFDE3LjYyNyAxMi41MDMgLTAuNzQ4hnINAQAATR4BVRQxOS45MTQgMTEuODU5IC0wLjE2M4ZyDgEAAE0fAVURMjEuMDc0IDkuNzUgMC4wNTSGcg8BAABNIAFVFDE2LjMyOSAxMC40MzQgLTEuMzA2hnIQAQAAZWgdSwB1Swp9chEBAAAoSwBdchIBAAAoTSEBVRExNC44NiA1LjcwNCAyMi4xNIZyEwEAAE0iAVUTMTQuNjA5IDYuNTM4IDIxLjY0OYZyFAEAAE0jAVUTMTUuNzM4IDUuNzkzIDIzLjIxNIZyFQEAAE0kAVUTMTYuMjA3IDYuOTE4IDIzLjUzMoZyFgEAAE0lAVUTMTYuMDQ4IDQuNjYxIDIzLjg4OIZyFwEAAE0mAVUTMTUuNTAxIDMuNDg3IDIzLjUyNIZyGAEAAE0nAVUTMTUuODExIDIuNDA1IDI0LjIxOYZyGQEAAE0oAVUTMTYuNDM5IDIuNDcyIDI0Ljk5NYZyGgEAAE0pAVUSMTUuNDE4IDEuNTIgMjMuOTY5hnIbAQAATSoBVRMxNC42MDYgMy4zODQgMjIuNDM4hnIcAQAATSsBVRIxNC4zMTUgNC41MDggMjEuNziGch0BAABNLAFVEjEzLjYyIDQuNDY4IDIwLjkyOIZyHgEAAE0tAVUTMTQuMTY3IDIuNDE5IDIyLjE0NoZyHwEAAE0uAVUSMTkuODE2IDIuNzUgMjEuMDQ2hnIgAQAATS8BVRMxOC40NjYgMi45NjcgMjAuODgyhnIhAQAATTABVRMxNy43NjUgMi4xNzIgMjEuMTc3hnIiAQAATTEBVRMxNy45NjYgNC4xMTYgMjAuMzc0hnIjAQAATTIBVRIxNi44OCA0LjI0OCAyMC4yNTSGciQBAABNMwFVEzE4Ljg3OCA1LjE2NyAxOS45OTGGciUBAABNNAFVEjE4LjU1IDYuMjUxIDE5LjQ3NYZyJgEAAE01AVUTMjAuMjMyIDQuODc2IDIwLjIwNIZyJwEAAE02AVUTMjAuODkxIDUuNTgyIDE5Ljk0NYZyKAEAAE03AVUTMjAuNzQ3IDMuNzA5IDIwLjczN4ZyKQEAAE04AVUSMjEuOTE4IDMuNTM1IDIwLjkzhnIqAQAATTkBVRMyMC4xODMgMS44ODMgMjEuMzg0hnIrAQAAZWgdSwB1Swt9ciwBAAAoSwBdci0BAAAoTToBVRMyNS4yNzYgNi40ODggMTYuOTI1hnIuAQAATTsBVRMyNi4xMDUgNi4wNjggMTcuMjk1hnIvAQAATTwBVRIyNS4yNjYgNy43NzQgMTYuNDiGcjABAABNPQFVEzI0LjEzNyA4LjMzNCAxNi4wMjWGcjEBAABNPgFVEjI0LjEyIDkuMzc0IDE1LjY2NoZyMgEAAE0/AVUTMjIuOTU2IDcuNTMxIDE2LjAyNIZyMwEAAE1AAVUTMjEuNzkzIDguMDQxIDE1LjYyMoZyNAEAAE1BAVUTMjAuOTY5IDcuNDc1IDE1LjYzMYZyNQEAAE1CAVUSMjEuNzQ0IDguOTkgMTUuMzExhnI2AQAATUMBVRMyMi45NjcgNi4yNjQgMTYuNDI4hnI3AQAATUQBVRMyNC4xMDggNS43MTYgMTYuODg3hnI4AQAATUUBVRIyNC4xNTIgNC41NCAxNy4yODGGcjkBAABNRgFVEzI2LjE5NiA4LjM2MSAxNi40OTSGcjoBAABNRwFVEzE2LjM1NCA3LjQ1MyAxMy40MDaGcjsBAABNSAFVEzE3LjU3OSA2Ljg2NSAxMy4wODiGcjwBAABNSQFVEzE4LjUyOSA3LjczMyAxMi42ODiGcj0BAABNSgFVEzE5LjQzMSA3LjM0OCAxMi40OTSGcj4BAABNSwFVEzE4LjM5MyA5LjA4NiAxMi41MTiGcj8BAABNTAFVEzE3LjA3OSA5LjYwNSAxMi43NzGGckABAABNTQFVFDE2Ljg2NiAxMC42NzMgMTIuNjE3hnJBAQAATU4BVRIxNi4xMiA4Ljc4NCAxMy4xOTOGckIBAABNTwFVEzE1LjExMyA5LjE4NiAxMy4zNzWGckMBAABNUAFVEzE5LjM4NiA5Ljc0MyAxMi4yMTmGckQBAABNUQFVEjE3LjgwNiA1LjY3IDEzLjE2NoZyRQEAAE1SAVUTMTUuNjc0IDYuODgyIDEzLjg2NoZyRgEAAGVoHUsAdUsMfXJHAQAAKEsAXXJIAQAAKE1TAVURMjEuNzMyIDIuOTE2IDkuNjWGckkBAABNVAFVEjIxLjYyMiAxLjkyNCA5LjcwOIZySgEAAE1VAVUSMjIuOTc5IDMuNTA0IDkuNjIyhnJLAQAATVYBVREyMy4xMTkgNC44MzUgOS40OIZyTAEAAE1XAVUSMjEuODk2IDUuNjA0IDkuMzg1hnJNAQAATVgBVREyMC42ODcgNS4wMyA5LjQ0NoZyTgEAAE1ZAVUQMjAuNTggMy42OTkgOS41N4ZyTwEAAE1aAVUSMTkuNDc3IDMuMTMyIDkuNjA0hnJQAQAATVsBVRIyMS45NDkgNi45MTIgOS4yMjmGclEBAABNXAFVETIxLjEwNCA3LjQ0MiA5LjE2hnJSAQAATV0BVRIyMi44MzQgNy4zNzQgOS4xNzmGclMBAABNXgFVEjI0LjEwOSA1LjMxMyA5LjQzOIZyVAEAAE1fAVUSMjMuODc2IDIuODc0IDkuNzE3hnJVAQAATWABVRMxNi4zNTQgNy40NTMgMTMuNDA2hnJWAQAATWEBVRIxNi4xMiA4Ljc4NCAxMy4xOTOGclcBAABNYgFVEzE3LjA3OSA5LjYwNSAxMi43NzGGclgBAABNYwFVEzE4LjM5MyA5LjA4NiAxMi41MTiGclkBAABNZAFVEzE4LjUyOSA3LjczMyAxMi42ODiGcloBAABNZQFVEzE3LjU3OSA2Ljg2NSAxMy4wODiGclsBAABNZgFVEjE3LjgwNiA1LjY3IDEzLjE2NoZyXAEAAE1nAVUTMTkuNDMxIDcuMzQ4IDEyLjQ5NIZyXQEAAE1oAVUTMTkuMzg2IDkuNzQzIDEyLjIxOYZyXgEAAE1pAVUUMTYuODY2IDEwLjY3MyAxMi42MTeGcl8BAABNagFVEzE1LjExMyA5LjE4NiAxMy4zNzWGcmABAABNawFVEzE1LjY3NCA2Ljg4MiAxMy44NjaGcmEBAABlaB1LAHV1Lg=='))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'oneTransparentLayer': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, 'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, 'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, 'default'), 'Rf': ((0.8, 0, 0.34902), 1, 'default'), 'Ra': ((0, 0.490196, 0), 1, 'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, 'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, 'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, 'default'), 'Be': ((0.760784, 1, 0), 1, 'default'), 'Ba': ((0, 0.788235, 0), 1, 'default'), 'Bh': ((0.878431, 0, 0.219608), 1, 'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, 'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, 'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, 'default'), '_openColor00': ((1, 1, 1), 1, 'default'), '_openColor01': ((1, 0, 1), 1, 'default'), '_openColor02': ((0, 1, 1), 1, 'default'), '_openColor03': ((1, 1, 0), 1, 'default'), '_openColor04': ((1, 0, 0), 1, 'default'), '_openColor05': ((0, 0, 1), 1, 'default'), '_openColor06': ((0.67, 1, 0), 1, 'default'), '_openColor07': ((0.67, 0, 1), 1, 'default'), '_openColor08': ((0.67, 1, 1), 1, 'default'),
'H': ((1, 1, 1), 1, 'default'), 'P': ((1, 0.501961, 0), 1, 'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, 'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, 'default'), 'Gd': ((0.270588, 1, 0.780392), 1, 'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, 'default'), 'Pr': ((0.85098, 1, 0.780392), 1, 'default'), '_openColor12': ((1, 1, 0.5), 1, 'default'), '_openColor11': ((1, 0.67, 1), 1, 'default'), '_openColor10': ((0, 0.67, 1), 1, 'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, 'default'), 'Pu': ((0, 0.419608, 1), 1, 'default'), 'C': ((0.564706, 0.564706, 0.564706), 1, 'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, 'default'), 'Pa': ((0, 0.631373, 1), 1, 'default'), 'Pd': ((0, 0.411765, 0.521569), 1, 'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, 'default'), 'Po': ((0.670588, 0.360784, 0), 1, 'default'), 'Pm': ((0.639216, 1, 0.780392), 1, 'default'), 'Hs': ((0.901961, 0, 0.180392), 1, 'default'), 'Ho': ((0, 1, 0.611765), 1, 'default'), 'Hf': ((0.301961, 0.760784, 1), 1, 'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, 'default'),
'He': ((0.85098, 1, 1), 1, 'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, 'default'), 'Mg': ((0.541176, 1, 0), 1, 'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, 'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, 'default'), 'O': ((1, 0.0509804, 0.0509804), 1, 'default'), 'Mt': ((0.921569, 0, 0.14902), 1, 'default'), 'S': ((1, 1, 0.188235), 1, 'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, 'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, 'default'), 'Eu': ((0.380392, 1, 0.780392), 1, 'default'), 'Zr': ((0.580392, 0.878431, 0.878431), 1, 'default'), 'Er': ((0, 0.901961, 0.458824), 1, 'default'), '_openColor13': ((1, 0, 0.5), 1, 'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, 'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, 'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, 'default'), 'Nd': ((0.780392, 1, 0.780392), 1, 'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, 'default'), 'Np': ((0, 0.501961, 1), 1, 'default'), 'Fr': ((0.258824, 0, 0.4), 1, 'default'), '_openColor15': ((0.67, 0.67, 1), 1, 'default'), '_openColor14': ((0, 1, 0.5), 1, 'default'),
'Fe': ((0.878431, 0.4, 0.2), 1, 'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, 'default'), 'B': ((1, 0.709804, 0.709804), 1, 'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, 'default'), 'Sr': ((0, 1, 0), 1, 'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, 'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, 'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, 'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, 'default'), 'Sm': ((0.560784, 1, 0.780392), 1, 'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, 'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, 'default'), 'Sb': ((0.619608, 0.388235, 0.709804), 1, 'default'), 'Sg': ((0.85098, 0, 0.270588), 1, 'default'), 'Se': ((1, 0.631373, 0), 1, 'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, 'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, 'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, 'default'), 'Ca': ((0.239216, 1, 0), 1, 'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, 'default'), 'Ce': ((1, 1, 0.780392), 1, 'default'), 'Cd': ((1, 0.85098, 0.560784), 1, 'default'),
'Tm': ((0, 0.831373, 0.321569), 1, 'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, 'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, 'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, 'default'), 'La': ((0.439216, 0.831373, 1), 1, 'default'), 'Li': ((0.8, 0.501961, 1), 1, 'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, 'default'), 'Lu': ((0, 0.670588, 0.141176), 1, 'default'), 'Lr': ((0.780392, 0, 0.4), 1, 'default'), 'Th': ((0, 0.729412, 1), 1, 'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, 'default'), 'Te': ((0.831373, 0.478431, 0), 1, 'default'), 'Tb': ((0.188235, 1, 0.780392), 1, 'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, 'default'), 'Ta': ((0.301961, 0.65098, 1), 1, 'default'), 'Yb': ((0, 0.74902, 0.219608), 1, 'default'), 'Db': ((0.819608, 0, 0.309804), 1, 'default'), 'Dy': ((0.121569, 1, 0.780392), 1, 'default'), '_openColor09': ((1, 0.67, 0), 1, 'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, 'default'), 'I': ((0.580392, 0, 0.580392), 1, 'default'), 'U': ((0, 0.560784, 1), 1, 'default'), 'Y': ((0.580392, 1, 1), 1, 'default'),
'Ac': ((0.439216, 0.670588, 0.980392), 1, 'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, 'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, 'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, 'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, 'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, 'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, 'default'), 'Au': ((1, 0.819608, 0.137255), 1, 'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, 'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, 'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, 'default')}
	materials = {'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': ['distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 16, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = {0: ('_openColor00', (1, 1, 1, 1)), 1: ('_openColor01', (1, 0, 1, 1)), 2: ('_openColor02', (0, 1, 1, 1)), 3: ('_openColor03', (1, 1, 0, 1)), 4: ('_openColor04', (1, 0, 0, 1)), 5: ('_openColor05', (0, 0, 1, 1)), 6: ('_openColor06', (0.67, 1, 0, 1)), 7: ('_openColor07', (0.67, 0, 1, 1)), 8: ('_openColor08', (0.67, 1, 1, 1)), 9: ('_openColor09', (1, 0.67, 0, 1)), 10: ('_openColor10', (0, 0.67, 1, 1)), 11: ('_openColor11', (1, 0.67, 1, 1)), 12: ('_openColor12', (1, 1, 0.5, 1)), 13: ('N', (0.188235, 0.313725, 0.972549, 1)), 14: ('O', (1, 0.0509804, 0.0509804, 1)), 15: ('H', (1, 1, 1, 1)), 16: ('yellow', (1, 1, 0, 1)), 17: ('white', (1, 1, 1, 1)), 18: ('green', (0, 1, 0, 1))}
	viewerInfo = {'cameraAttrs': {'center': (34.068, -3.8215, 17.6184), 'fieldOfView': 26.2751, 'nearFar': (26.7854, 8.45147), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 17.648}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'viewSize': 8.05504, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 1, 'depthCue': True, 'highlight': 0, 'scaleFactor': 0.453494}, 'viewerHL': 18, 'cameraMode': 'mono', 'detail': 1, 'viewerFog': None, 'viewerBG': 17}

	replyobj.status("Initializing session restore...", blankAfter=0)
	init(colorInfo)
	replyobj.status("Restoring colors...", blankAfter=0)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0)
	restoreViewer(viewerInfo)
Ejemplo n.º 2
0
def restoreCoreModels():
	from SimpleSession.versions.v45 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwZOfYdxA1UJYmFsbFNjYWxlcQRLBkc/0AAAAAAAAH2HcQVVFHJpYmJvbkhpZGVzTWFpbmNoYWlucQZLBoh9h3EHVQlwb2ludFNpemVxCEsGRz/wAAAAAAAAfYdxCVUEbmFtZXEKSwZVEUFHX3BsYW5hcl8xMDAucGRifXELKFUQQUdfcGxhbmFyXzc5LnBkYnEMXXENSwRhVRFBR19wbGFuYXJfMTM4LnBkYnEOXXEPSwJhVRBBR19wbGFuYXJfNDcucGRicRBdcRFLA2FVEUFHX2RpYWdvbl8xMTQucGRicRJdcRNLAGFVEEFHX3BsYW5hcl85OS5wZGJxFF1xFUsFYXWHcRZVD2Fyb21hdGljRGlzcGxheXEXSwaJfYdxGFUFY29sb3JxGUsGSwB9cRooSwFdcRtLAWFLAl1xHEsCYUsDXXEdSwNhSwRdcR5LBGFLBV1xH0sFYXWHcSBVCG9wdGlvbmFscSF9cSJVCG9wZW5lZEFzcSOISwYoVTsvaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQUcvaF9ib25kZWQvQUdfcGxhbmFyXzc5LnBkYlUDUERCcSROiXRxJX1xJigoVTsvaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQUcvaF9ib25kZWQvQUdfcGxhbmFyXzQ3LnBkYmgkTol0cSddcShLA2EoVTwvaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQUcvaF9ib25kZWQvQUdfcGxhbmFyXzEwMC5wZGJoJE6JdHEpXXEqSwFhKFU7L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0FHL2hfYm9uZGVkL0FHX3BsYW5hcl85OS5wZGJoJE6JdHErXXEsSwVhKFU8L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0FHL2hfYm9uZGVkL0FHX2RpYWdvbl8xMTQucGRiaCROiXRxLV1xLksAYShVPC9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9BRy9oX2JvbmRlZC9BR19wbGFuYXJfMTM4LnBkYmgkTol0cS9dcTBLAmF1h4ZxMXNVCnBkYkhlYWRlcnNxMl1xMyh9cTR9cTV9cTZ9cTd9cTh9cTllVQxhcm9tYXRpY01vZGVxOksGSwF9h3E7VQNpZHNxPEsGSwBLAIZ9cT0oSwNLAIZxPl1xP0sDYUsCSwCGcUBdcUFLAmFLBUsAhnFCXXFDSwVhSwFLAIZxRF1xRUsBYUsESwCGcUZdcUdLBGF1h3FIVQ5zdXJmYWNlT3BhY2l0eXFJSwZHv/AAAAAAAAB9h3FKVQlhdXRvY2hhaW5xS0sGiH2HcUxVCnZkd0RlbnNpdHlxTUsGR0AUAAAAAAAAfYdxTlUNYXJvbWF0aWNDb2xvcnFPSwZOfYdxUFUGaGlkZGVucVFLBol9h3FSVQlsaW5lV2lkdGhxU0sGRz/wAAAAAAAAfYdxVFUKc3RpY2tTY2FsZXFVSwZHP/AAAAAAAAB9h3FWVQdkaXNwbGF5cVdLBoh9h3FYVRBhcm9tYXRpY0xpbmVUeXBlcVlLBksCfYdxWnUu'))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksMVQEgfYdxA1ULZmlsbERpc3BsYXlxBEsMiX2HcQVVBG5hbWVxBksMVQFBfXEHVQFHXXEIKEsBSwNLBUsHSwlLC2Vzh3EJVQVjaGFpbnEKSwxVAUF9cQtVAUJOXXEMKEsBSwGGcQ1LA0sBhnEOSwVLAYZxD0sHSwGGcRBLCUsBhnERSwtLAYZxEmWGcRNzh3EUVQ5yaWJib25EcmF3TW9kZXEVSwxLAn2HcRZVAnNzcRdLDImJiYd9h3EYVQhtb2xlY3VsZXEZSwxLAH1xGihLAU5dcRtLAksChnEcYYZxHUsCTl1xHksESwKGcR9hhnEgSwNOXXEhSwZLAoZxImGGcSNLBE5dcSRLCEsChnElYYZxJksFTl1xJ0sKSwKGcShhhnEpdYdxKlULcmliYm9uQ29sb3JxK0sMTn2HcSxVBWxhYmVscS1LDFUAfYdxLlUKbGFiZWxDb2xvcnEvSwxOfYdxMFUIZmlsbE1vZGVxMUsMSwF9h3EyVQVpc0hldHEzSwyJfYdxNFULbGFiZWxPZmZzZXRxNUsMTn2HcTZVCHBvc2l0aW9ucTddcTgoSwFLAoZxOUsBSwKGcTpLAUsChnE7SwFLAoZxPEsBSwKGcT1LAUsChnE+ZVUNcmliYm9uRGlzcGxheXE/SwyJfYdxQFUIb3B0aW9uYWxxQX1xQlUEc3NJZHFDSwxK/////32HcUR1Lg=='))
	atomInfo = cPickle.loads(base64.b64decode('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'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVhdG9tc3ECXXEDKF1xBChLE0sSZV1xBShLE0sUZV1xBihLFUsUZV1xByhLFksVZV1xCChLFksSZV1xCShLFksXZV1xCihLGEsXZV1xCyhLGEsZZV1xDChLGksZZV1xDShLGksbZV1xDihLHEsbZV1xDyhLHUsbZV1xEChLFUsaZV1xEShLGEseZV1xEihLE0sfZV1xEyhLIEsSZV1xFChLIkshZV1xFShLIksjZV1xFihLJEsjZV1xFyhLJEslZV1xGChLJUsmZV1xGShLJ0smZV1xGihLJ0soZV1xGyhLKUsoZV1xHChLKUskZV1xHShLKUshZV1xHihLJ0sqZV1xHyhLK0sqZV1xIChLLEsqZV1xIShLLUsmZV1xIihLJUsuZV1xIyhLIksvZV1xJChLMEshZV1xJShLMksxZV1xJihLMkszZV1xJyhLNEszZV1xKChLNEs1ZV1xKShLNUs2ZV1xKihLN0s2ZV1xKyhLOEs2ZV1xLChLNUs5ZV1xLShLOks5ZV1xLihLOks7ZV1xLyhLOks8ZV1xMChLPUs8ZV1xMShLPUsxZV1xMihLPUs0ZV1xMyhLMks+ZV1xNChLP0sxZV1xNShLQUtAZV1xNihLQUtCZV1xNyhLQUtDZV1xOChLREtDZV1xOShLRUtEZV1xOihLRUtAZV1xOyhLRUtGZV1xPChLR0tGZV1xPShLR0tIZV1xPihLSUtIZV1xPyhLSktIZV1xQChLR0tLZV1xQShLTEtLZV1xQihLREtMZV1xQyhLTEtNZV1xRChLTktLZV1xRShLT0tAZV1xRihLUUtQZV1xRyhLUUtSZV1xSChLUUtTZV1xSShLVEtTZV1xSihLVEtVZV1xSyhLVUtWZV1xTChLV0tWZV1xTShLV0tYZV1xTihLV0tZZV1xTyhLWktZZV1xUChLWktQZV1xUShLWktUZV1xUihLVUtbZV1xUyhLXEtbZV1xVChLXUtbZV1xVShLXktQZV1xVihLYEtfZV1xVyhLYEthZV1xWChLYkthZV1xWShLY0tiZV1xWihLY0tfZV1xWyhLY0tkZV1xXChLZUtkZV1xXShLZUtmZV1xXihLZ0tmZV1xXyhLZ0toZV1xYChLYktnZV1xYShLaUtmZV1xYihLZUtqZV1xYyhLa0tqZV1xZChLbEtqZV1xZShLYEttZV1xZihLbktfZV1xZyhLcEtvZV1xaChLcEtxZV1xaShLcktxZV1xaihLcktzZV1xayhLc0t0ZV1xbChLdUt0ZV1xbShLdUt2ZV1xbihLdUt3ZV1xbyhLeEt3ZV1xcChLeEtvZV1xcShLeEtyZV1xcihLc0t5ZV1xcyhLekt5ZV1xdChLe0t5ZV1xdShLcEt8ZV1xdihLfUtvZV1xdyhLf0t+ZV1xeChLgEt+ZV1xeShLgEuBZV1xeihLgkuBZV1xeyhLgkuDZV1xfChLhEuDZV1xfShLhUuDZV1xfihLgkuGZV1xfyhLh0uGZV1xgChLh0uIZV1xgShLiUuHZV1xgihLgEuJZV1xgyhLiUuKZV1xhChLi0uKZV1xhShLi0t+ZV1xhihLi0uMZV1xhyhLjUuGZV1xiChLj0uOZV1xiShLkEuOZV1xiihLkEuRZV1xiyhLkkuRZV1xjChLkkuTZV1xjShLk0uUZV1xjihLlUuUZV1xjyhLlUuWZV1xkChLlUuXZV1xkShLmEuXZV1xkihLmEuOZV1xkyhLmEuSZV1xlChLk0uZZV1xlShLmkuZZV1xlihLm0uZZV1xlyhLkEucZV1xmChLnkudZV1xmShLnkufZV1xmihLn0ugZV1xmyhLoEuhZV1xnChLoEuiZV1xnShLo0uiZV1xnihLpEuiZV1xnyhLpEulZV1xoChLnkulZV1xoShLpEumZV1xoihLp0umZV1xoyhLqEumZV1xpChLn0upZV1xpShLqkupZV1xpihLqkurZV1xpyhLqkudZV1xqChLrEudZV1xqShLrkutZV1xqihLrkuvZV1xqyhLsEuvZV1xrChLsEuxZV1xrShLsEuyZV1xrihLs0uyZV1xryhLs0u0ZV1xsChLtUu0ZV1xsShLtku0ZV1xsihLt0uzZV1xsyhLt0u4ZV1xtChLuUu4ZV1xtShLuUu6ZV1xtihLuUutZV1xtyhLrku3ZV1xuChLu0utZV1xuShLvUu8ZV1xuihLvku8ZV1xuyhLvku/ZV1xvChLv0vAZV1xvShLwEvBZV1xvihLwkvBZV1xvyhLw0vBZV1xwChLw0vEZV1xwShLxUvEZV1xwihLxkvEZV1xwyhLw0vHZV1xxChLvkvHZV1xxShLwEvIZV1xxihLv0vJZV1xxyhLykvJZV1xyChLyku8ZV1xyShLykvLZWVVBWxhYmVsccpLxlUAfYdxy1UGcmFkaXVzccxLxkc/yZmZoAAAAH2Hcc1VC2xhYmVsT2Zmc2V0cc5Lxk59h3HPVQhkcmF3TW9kZXHQS8ZLAX2HcdFVCG9wdGlvbmFscdJ9cdNVB2Rpc3BsYXlx1EvGSwJ9h3HVdS4='))
	crdInfo = cPickle.loads(base64.b64decode('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'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'oneTransparentLayer': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, 'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, 'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, 'default'), 'Rf': ((0.8, 0, 0.34902), 1, 'default'), 'Ra': ((0, 0.490196, 0), 1, 'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, 'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, 'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, 'default'), 'Be': ((0.760784, 1, 0), 1, 'default'), 'Ba': ((0, 0.788235, 0), 1, 'default'), 'Bh': ((0.878431, 0, 0.219608), 1, 'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, 'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, 'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, 'default'), '_openColor00': ((1, 1, 1), 1, 'default'), '_openColor01': ((1, 0, 1), 1, 'default'), '_openColor02': ((0, 1, 1), 1, 'default'), '_openColor03': ((1, 1, 0), 1, 'default'), '_openColor04': ((1, 0, 0), 1, 'default'), '_openColor05': ((0, 0, 1), 1, 'default'), '_openColor06': ((0.67, 1, 0), 1, 'default'), '_openColor07': ((0.67, 0, 1), 1, 'default'), '_openColor08': ((0.67, 1, 1), 1, 'default'),
'H': ((1, 1, 1), 1, 'default'), 'P': ((1, 0.501961, 0), 1, 'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, 'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, 'default'), 'Gd': ((0.270588, 1, 0.780392), 1, 'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, 'default'), 'Pr': ((0.85098, 1, 0.780392), 1, 'default'), '_openColor12': ((1, 1, 0.5), 1, 'default'), '_openColor11': ((1, 0.67, 1), 1, 'default'), '_openColor10': ((0, 0.67, 1), 1, 'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, 'default'), 'Pu': ((0, 0.419608, 1), 1, 'default'), 'C': ((0.564706, 0.564706, 0.564706), 1, 'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, 'default'), 'Pa': ((0, 0.631373, 1), 1, 'default'), 'Pd': ((0, 0.411765, 0.521569), 1, 'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, 'default'), 'Po': ((0.670588, 0.360784, 0), 1, 'default'), 'Pm': ((0.639216, 1, 0.780392), 1, 'default'), 'Hs': ((0.901961, 0, 0.180392), 1, 'default'), 'Ho': ((0, 1, 0.611765), 1, 'default'), 'Hf': ((0.301961, 0.760784, 1), 1, 'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, 'default'),
'He': ((0.85098, 1, 1), 1, 'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, 'default'), 'Mg': ((0.541176, 1, 0), 1, 'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, 'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, 'default'), 'O': ((1, 0.0509804, 0.0509804), 1, 'default'), 'Mt': ((0.921569, 0, 0.14902), 1, 'default'), 'S': ((1, 1, 0.188235), 1, 'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, 'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, 'default'), 'Eu': ((0.380392, 1, 0.780392), 1, 'default'), 'Zr': ((0.580392, 0.878431, 0.878431), 1, 'default'), 'Er': ((0, 0.901961, 0.458824), 1, 'default'), '_openColor13': ((1, 0, 0.5), 1, 'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, 'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, 'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, 'default'), 'Nd': ((0.780392, 1, 0.780392), 1, 'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, 'default'), 'Np': ((0, 0.501961, 1), 1, 'default'), 'Fr': ((0.258824, 0, 0.4), 1, 'default'), '_openColor15': ((0.67, 0.67, 1), 1, 'default'), '_openColor14': ((0, 1, 0.5), 1, 'default'),
'Fe': ((0.878431, 0.4, 0.2), 1, 'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, 'default'), 'B': ((1, 0.709804, 0.709804), 1, 'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, 'default'), 'Sr': ((0, 1, 0), 1, 'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, 'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, 'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, 'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, 'default'), 'Sm': ((0.560784, 1, 0.780392), 1, 'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, 'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, 'default'), 'Sb': ((0.619608, 0.388235, 0.709804), 1, 'default'), 'Sg': ((0.85098, 0, 0.270588), 1, 'default'), 'Se': ((1, 0.631373, 0), 1, 'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, 'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, 'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, 'default'), 'Ca': ((0.239216, 1, 0), 1, 'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, 'default'), 'Ce': ((1, 1, 0.780392), 1, 'default'), 'Cd': ((1, 0.85098, 0.560784), 1, 'default'),
'Tm': ((0, 0.831373, 0.321569), 1, 'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, 'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, 'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, 'default'), 'La': ((0.439216, 0.831373, 1), 1, 'default'), 'Li': ((0.8, 0.501961, 1), 1, 'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, 'default'), 'Lu': ((0, 0.670588, 0.141176), 1, 'default'), 'Lr': ((0.780392, 0, 0.4), 1, 'default'), 'Th': ((0, 0.729412, 1), 1, 'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, 'default'), 'Te': ((0.831373, 0.478431, 0), 1, 'default'), 'Tb': ((0.188235, 1, 0.780392), 1, 'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, 'default'), 'Ta': ((0.301961, 0.65098, 1), 1, 'default'), 'Yb': ((0, 0.74902, 0.219608), 1, 'default'), 'Db': ((0.819608, 0, 0.309804), 1, 'default'), 'Dy': ((0.121569, 1, 0.780392), 1, 'default'), '_openColor09': ((1, 0.67, 0), 1, 'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, 'default'), 'I': ((0.580392, 0, 0.580392), 1, 'default'), 'U': ((0, 0.560784, 1), 1, 'default'), 'Y': ((0.580392, 1, 1), 1, 'default'),
'Ac': ((0.439216, 0.670588, 0.980392), 1, 'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, 'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, 'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, 'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, 'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, 'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, 'default'), 'Au': ((1, 0.819608, 0.137255), 1, 'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, 'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, 'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, 'default')}
	materials = {'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': ['distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 9, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = {0: ('_openColor00', (1, 1, 1, 1)), 1: ('_openColor01', (1, 0, 1, 1)), 2: ('_openColor02', (0, 1, 1, 1)), 3: ('_openColor03', (1, 1, 0, 1)), 4: ('_openColor04', (1, 0, 0, 1)), 5: ('_openColor05', (0, 0, 1, 1)), 6: ('N', (0.188235, 0.313725, 0.972549, 1)), 7: ('H', (1, 1, 1, 1)), 8: ('O', (1, 0.0509804, 0.0509804, 1)), 9: ('yellow', (1, 1, 0, 1)), 10: ('white', (1, 1, 1, 1)), 11: ('green', (0, 1, 0, 1))}
	viewerInfo = {'cameraAttrs': {'center': (8.3885, 15.1655, 37.3352), 'fieldOfView': 26.2751, 'nearFar': (46.2043, 27.8414), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 37.076}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'viewSize': 11.614, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 1, 'depthCue': True, 'highlight': 0, 'scaleFactor': 0.820621}, 'viewerHL': 11, 'cameraMode': 'mono', 'detail': 1, 'viewerFog': None, 'viewerBG': 10}

	replyobj.status("Initializing session restore...", blankAfter=0)
	init(colorInfo)
	replyobj.status("Restoring colors...", blankAfter=0)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0)
	restoreViewer(viewerInfo)
Ejemplo n.º 3
0
def restoreCoreModels():
	from SimpleSession.versions.v45 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwROfYdxA1UJYmFsbFNjYWxlcQRLBEc/0AAAAAAAAH2HcQVVFHJpYmJvbkhpZGVzTWFpbmNoYWlucQZLBIh9h3EHVQlwb2ludFNpemVxCEsERz/wAAAAAAAAfYdxCVUEbmFtZXEKSwRVEEdHX2RpYWdvbl84Ni5wZGJ9cQsoVRBHR19kaWFnb25fMjUucGRicQxdcQ1LAWFVEEdHX2RpYWdvbl8yMi5wZGJxDl1xD0sAYVUQR0dfZGlhZ29uXzg0LnBkYnEQXXERSwJhdYdxElUPYXJvbWF0aWNEaXNwbGF5cRNLBIl9h3EUVQVjb2xvcnEVSwRLAH1xFihLAV1xF0sBYUsCXXEYSwJhSwNdcRlLA2F1h3EaVQhvcHRpb25hbHEbfXEcVQhvcGVuZWRBc3EdiEsEKFU7L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0dHL2hfYm9uZGVkL0dHX2RpYWdvbl84Ni5wZGJVA1BEQnEeTol0cR99cSAoKFU7L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0dHL2hfYm9uZGVkL0dHX2RpYWdvbl8yMi5wZGJoHk6JdHEhXXEiSwBhKFU7L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0dHL2hfYm9uZGVkL0dHX2RpYWdvbl84NC5wZGJoHk6JdHEjXXEkSwJhKFU7L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0dHL2hfYm9uZGVkL0dHX2RpYWdvbl8yNS5wZGJoHk6JdHElXXEmSwFhdYeGcSdzVQpwZGJIZWFkZXJzcShdcSkofXEqfXErfXEsfXEtZVUMYXJvbWF0aWNNb2RlcS5LBEsBfYdxL1UDaWRzcTBLBEsDSwCGfXExKEsCSwCGcTJdcTNLAmFLAUsAhnE0XXE1SwFhSwBLAIZxNl1xN0sAYXWHcThVDnN1cmZhY2VPcGFjaXR5cTlLBEe/8AAAAAAAAH2HcTpVCWF1dG9jaGFpbnE7SwSIfYdxPFUKdmR3RGVuc2l0eXE9SwRHQBQAAAAAAAB9h3E+VQ1hcm9tYXRpY0NvbG9ycT9LBE59h3FAVQZoaWRkZW5xQUsEiX2HcUJVCWxpbmVXaWR0aHFDSwRHP/AAAAAAAAB9h3FEVQpzdGlja1NjYWxlcUVLBEc/8AAAAAAAAH2HcUZVB2Rpc3BsYXlxR0sEiH2HcUhVEGFyb21hdGljTGluZVR5cGVxSUsESwJ9h3FKdS4='))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksIVQEgfYdxA1ULZmlsbERpc3BsYXlxBEsIiX2HcQVVBG5hbWVxBksIVQFHfYdxB1UFY2hhaW5xCEsIVQFBfXEJVQFCTl1xCihLAUsBhnELSwNLAYZxDEsFSwGGcQ1LB0sBhnEOZYZxD3OHcRBVDnJpYmJvbkRyYXdNb2RlcRFLCEsCfYdxElUCc3NxE0sIiYmJh32HcRRVCG1vbGVjdWxlcRVLCEsAfXEWKEsBTl1xF0sCSwKGcRhhhnEZSwJOXXEaSwRLAoZxG2GGcRxLA05dcR1LBksChnEeYYZxH3WHcSBVC3JpYmJvbkNvbG9ycSFLCE59h3EiVQVsYWJlbHEjSwhVAH2HcSRVCmxhYmVsQ29sb3JxJUsITn2HcSZVCGZpbGxNb2RlcSdLCEsBfYdxKFUFaXNIZXRxKUsIiX2HcSpVC2xhYmVsT2Zmc2V0cStLCE59h3EsVQhwb3NpdGlvbnEtXXEuKEsBSwKGcS9LAUsChnEwSwFLAoZxMUsBSwKGcTJlVQ1yaWJib25EaXNwbGF5cTNLCIl9h3E0VQhvcHRpb25hbHE1fXE2VQRzc0lkcTdLCEr/////fYdxOHUu'))
	atomInfo = cPickle.loads(base64.b64decode('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'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVhdG9tc3ECXXEDKF1xBChLDUsMZV1xBShLDUsOZV1xBihLD0sOZV1xByhLD0sQZV1xCChLEEsRZV1xCShLEksRZV1xCihLE0sRZV1xCyhLE0sUZV1xDChLFUsUZV1xDShLFUsMZV1xDihLFUsPZV1xDyhLE0sWZV1xEChLF0sWZV1xEShLGEsWZV1xEihLEEsZZV1xEyhLDUsaZV1xFChLG0sMZV1xFShLHUscZV1xFihLHkscZV1xFyhLHksfZV1xGChLIEsfZV1xGShLIEshZV1xGihLIUsiZV1xGyhLIUsjZV1xHChLJEsjZV1xHShLJUsjZV1xHihLJUsmZV1xHyhLJ0smZV1xIChLJ0sgZV1xIShLJ0scZV1xIihLJUsoZV1xIyhLKUsoZV1xJChLKksoZV1xJShLHksrZV1xJihLLUssZV1xJyhLLUsuZV1xKChLLksvZV1xKShLL0swZV1xKihLMUswZV1xKyhLMkswZV1xLChLMkszZV1xLShLNEszZV1xLihLNUszZV1xLyhLMks2ZV1xMChLLUs2ZV1xMShLL0s3ZV1xMihLLks4ZV1xMyhLOUs4ZV1xNChLOUssZV1xNShLOUs6ZV1xNihLO0ssZV1xNyhLPUs8ZV1xOChLPUs+ZV1xOShLP0s+ZV1xOihLP0tAZV1xOyhLQEtBZV1xPChLQEtCZV1xPShLQ0tCZV1xPihLREtCZV1xPyhLREtFZV1xQChLRktFZV1xQShLR0tFZV1xQihLREtIZV1xQyhLSUtIZV1xRChLSUs8ZV1xRShLSUs/ZV1xRihLPUtKZV1xRyhLS0s8ZV1xSChLTUtMZV1xSShLTUtOZV1xSihLT0tOZV1xSyhLUEtPZV1xTChLUEtRZV1xTShLUktRZV1xTihLUktTZV1xTyhLVEtTZV1xUChLVUtTZV1xUShLUktWZV1xUihLV0tWZV1xUyhLWEtWZV1xVChLT0tYZV1xVShLWEtZZV1xVihLUEtMZV1xVyhLTUtaZV1xWChLW0tMZV1xWShLXUtcZV1xWihLXUteZV1xWyhLXktfZV1xXChLYEtfZV1xXShLYEtcZV1xXihLYEthZV1xXyhLXktiZV1xYChLYktjZV1xYShLZEtjZV1xYihLZEtlZV1xYyhLZktlZV1xZChLZ0tlZV1xZShLZEtoZV1xZihLXUtoZV1xZyhLaUtjZV1xaChLYktqZV1xaShLa0tcZV1xaihLbUtsZV1xayhLbUtuZV1xbChLb0tuZV1xbShLb0twZV1xbihLcUtwZV1xbyhLcktwZV1xcChLc0tyZV1xcShLc0t0ZV1xcihLdUt0ZV1xcyhLdUt2ZV1xdChLdUtsZV1xdShLbUtzZV1xdihLckt3ZV1xdyhLb0t4ZV1xeChLeUt4ZV1xeShLekt4ZV1xeihLe0tsZV1xeyhLfUt8ZV1xfChLfkt8ZV1xfShLfkt/ZV1xfihLfkuAZV1xfyhLgUuAZV1xgChLgkuBZV1xgShLgkt8ZV1xgihLgkuDZV1xgyhLhEuDZV1xhChLhEuFZV1xhShLhkuFZV1xhihLh0uFZV1xhyhLh0uIZV1xiChLgUuHZV1xiShLhEuJZV1xiihLikuJZV1xiyhLi0uJZWVVBWxhYmVscYxLiFUAfYdxjVUGcmFkaXVzcY5LiEc/yZmZoAAAAH2HcY9VC2xhYmVsT2Zmc2V0cZBLiE59h3GRVQhkcmF3TW9kZXGSS4hLAX2HcZNVCG9wdGlvbmFscZR9cZVVB2Rpc3BsYXlxlkuISwJ9h3GXdS4='))
	crdInfo = cPickle.loads(base64.b64decode('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'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'oneTransparentLayer': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, 'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, 'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, 'default'), 'Rf': ((0.8, 0, 0.34902), 1, 'default'), 'Ra': ((0, 0.490196, 0), 1, 'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, 'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, 'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, 'default'), 'Be': ((0.760784, 1, 0), 1, 'default'), 'Ba': ((0, 0.788235, 0), 1, 'default'), 'Bh': ((0.878431, 0, 0.219608), 1, 'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, 'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, 'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, 'default'), '_openColor00': ((1, 1, 1), 1, 'default'), '_openColor01': ((1, 0, 1), 1, 'default'), '_openColor02': ((0, 1, 1), 1, 'default'), '_openColor03': ((1, 1, 0), 1, 'default'), '_openColor04': ((1, 0, 0), 1, 'default'), '_openColor05': ((0, 0, 1), 1, 'default'), '_openColor06': ((0.67, 1, 0), 1, 'default'), '_openColor07': ((0.67, 0, 1), 1, 'default'), '_openColor08': ((0.67, 1, 1), 1, 'default'),
'H': ((1, 1, 1), 1, 'default'), 'P': ((1, 0.501961, 0), 1, 'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, 'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, 'default'), 'Gd': ((0.270588, 1, 0.780392), 1, 'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, 'default'), 'Pr': ((0.85098, 1, 0.780392), 1, 'default'), '_openColor12': ((1, 1, 0.5), 1, 'default'), '_openColor11': ((1, 0.67, 1), 1, 'default'), '_openColor10': ((0, 0.67, 1), 1, 'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, 'default'), 'Pu': ((0, 0.419608, 1), 1, 'default'), 'C': ((0.564706, 0.564706, 0.564706), 1, 'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, 'default'), 'Pa': ((0, 0.631373, 1), 1, 'default'), 'Pd': ((0, 0.411765, 0.521569), 1, 'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, 'default'), 'Po': ((0.670588, 0.360784, 0), 1, 'default'), 'Pm': ((0.639216, 1, 0.780392), 1, 'default'), 'Hs': ((0.901961, 0, 0.180392), 1, 'default'), 'Ho': ((0, 1, 0.611765), 1, 'default'), 'Hf': ((0.301961, 0.760784, 1), 1, 'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, 'default'),
'He': ((0.85098, 1, 1), 1, 'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, 'default'), 'Mg': ((0.541176, 1, 0), 1, 'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, 'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, 'default'), 'O': ((1, 0.0509804, 0.0509804), 1, 'default'), 'Mt': ((0.921569, 0, 0.14902), 1, 'default'), 'S': ((1, 1, 0.188235), 1, 'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, 'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, 'default'), 'Eu': ((0.380392, 1, 0.780392), 1, 'default'), 'Zr': ((0.580392, 0.878431, 0.878431), 1, 'default'), 'Er': ((0, 0.901961, 0.458824), 1, 'default'), '_openColor13': ((1, 0, 0.5), 1, 'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, 'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, 'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, 'default'), 'Nd': ((0.780392, 1, 0.780392), 1, 'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, 'default'), 'Np': ((0, 0.501961, 1), 1, 'default'), 'Fr': ((0.258824, 0, 0.4), 1, 'default'), '_openColor15': ((0.67, 0.67, 1), 1, 'default'), '_openColor14': ((0, 1, 0.5), 1, 'default'),
'Fe': ((0.878431, 0.4, 0.2), 1, 'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, 'default'), 'B': ((1, 0.709804, 0.709804), 1, 'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, 'default'), 'Sr': ((0, 1, 0), 1, 'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, 'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, 'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, 'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, 'default'), 'Sm': ((0.560784, 1, 0.780392), 1, 'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, 'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, 'default'), 'Sb': ((0.619608, 0.388235, 0.709804), 1, 'default'), 'Sg': ((0.85098, 0, 0.270588), 1, 'default'), 'Se': ((1, 0.631373, 0), 1, 'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, 'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, 'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, 'default'), 'Ca': ((0.239216, 1, 0), 1, 'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, 'default'), 'Ce': ((1, 1, 0.780392), 1, 'default'), 'Cd': ((1, 0.85098, 0.560784), 1, 'default'),
'Tm': ((0, 0.831373, 0.321569), 1, 'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, 'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, 'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, 'default'), 'La': ((0.439216, 0.831373, 1), 1, 'default'), 'Li': ((0.8, 0.501961, 1), 1, 'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, 'default'), 'Lu': ((0, 0.670588, 0.141176), 1, 'default'), 'Lr': ((0.780392, 0, 0.4), 1, 'default'), 'Th': ((0, 0.729412, 1), 1, 'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, 'default'), 'Te': ((0.831373, 0.478431, 0), 1, 'default'), 'Tb': ((0.188235, 1, 0.780392), 1, 'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, 'default'), 'Ta': ((0.301961, 0.65098, 1), 1, 'default'), 'Yb': ((0, 0.74902, 0.219608), 1, 'default'), 'Db': ((0.819608, 0, 0.309804), 1, 'default'), 'Dy': ((0.121569, 1, 0.780392), 1, 'default'), '_openColor09': ((1, 0.67, 0), 1, 'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, 'default'), 'I': ((0.580392, 0, 0.580392), 1, 'default'), 'U': ((0, 0.560784, 1), 1, 'default'), 'Y': ((0.580392, 1, 1), 1, 'default'),
'Ac': ((0.439216, 0.670588, 0.980392), 1, 'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, 'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, 'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, 'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, 'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, 'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, 'default'), 'Au': ((1, 0.819608, 0.137255), 1, 'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, 'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, 'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, 'default')}
	materials = {'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': ['distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 7, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = {0: ('_openColor00', (1, 1, 1, 1)), 1: ('_openColor01', (1, 0, 1, 1)), 2: ('_openColor02', (0, 1, 1, 1)), 3: ('_openColor03', (1, 1, 0, 1)), 4: ('N', (0.188235, 0.313725, 0.972549, 1)), 5: ('H', (1, 1, 1, 1)), 6: ('O', (1, 0.0509804, 0.0509804, 1)), 7: ('yellow', (1, 1, 0, 1)), 8: ('white', (1, 1, 1, 1)), 9: ('green', (0, 1, 0, 1))}
	viewerInfo = {'cameraAttrs': {'center': (24.727, -3.756, 9.83202), 'fieldOfView': 26.2751, 'nearFar': (20.7041, -1.41861), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 12.855}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'viewSize': 11.9675, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 1, 'depthCue': True, 'highlight': 0, 'scaleFactor': 0.552622}, 'viewerHL': 9, 'cameraMode': 'mono', 'detail': 1, 'viewerFog': None, 'viewerBG': 8}

	replyobj.status("Initializing session restore...", blankAfter=0)
	init(colorInfo)
	replyobj.status("Restoring colors...", blankAfter=0)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0)
	restoreViewer(viewerInfo)
Ejemplo n.º 4
0
def restoreCoreModels():
	from SimpleSession.versions.v45 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwdOfYdxA1UJYmFsbFNjYWxlcQRLB0c/0AAAAAAAAH2HcQVVFHJpYmJvbkhpZGVzTWFpbmNoYWlucQZLB4h9h3EHVQlwb2ludFNpemVxCEsHRz/wAAAAAAAAfYdxCVUEbmFtZXEKSwdVEEFVX2RpYWdvbl8xMy5wZGJ9cQsoVRBBVV9kaWFnb25fMjEucGRicQxdcQ1LAmFVEUFVX3BsYW5hcl8xNDMucGRicQ5dcQ9LBWFVEEFVX2RpYWdvbl82Mi5wZGJxEF1xEUsEYVURQVVfZGlhZ29uXzEwMC5wZGJxEl1xE0sAYVUQQVVfZGlhZ29uXzYxLnBkYnEUXXEVSwNhVRBBVV9wbGFuYXJfODIucGRicRZdcRdLBmF1h3EYVQ9hcm9tYXRpY0Rpc3BsYXlxGUsHiX2HcRpVBWNvbG9ycRtLB0sAfXEcKEsBXXEdSwFhSwJdcR5LAmFLA11xH0sDYUsEXXEgSwRhSwVdcSFLBWFLBl1xIksGYXWHcSNVCG9wdGlvbmFscSR9cSVVCG9wZW5lZEFzcSaISwcoVTovaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQVUvc3BhdGlhbC9BVV9kaWFnb25fMjEucGRiVQNQREJxJ06JdHEofXEpKChVOy9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9BVS9zcGF0aWFsL0FVX2RpYWdvbl8xMDAucGRiaCdOiXRxKl1xK0sAYShVOi9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9BVS9zcGF0aWFsL0FVX2RpYWdvbl8xMy5wZGJoJ06JdHEsXXEtSwFhKFU6L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0FVL3NwYXRpYWwvQVVfcGxhbmFyXzgyLnBkYmgnTol0cS5dcS9LBmEoVTovaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQVUvc3BhdGlhbC9BVV9kaWFnb25fNjEucGRiaCdOiXRxMF1xMUsDYShVOi9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9BVS9zcGF0aWFsL0FVX2RpYWdvbl82Mi5wZGJoJ06JdHEyXXEzSwRhKFU7L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0FVL3NwYXRpYWwvQVVfcGxhbmFyXzE0My5wZGJoJ06JdHE0XXE1SwVhdYeGcTZzVQpwZGJIZWFkZXJzcTddcTgofXE5fXE6fXE7fXE8fXE9fXE+fXE/ZVUMYXJvbWF0aWNNb2RlcUBLB0sBfYdxQVUDaWRzcUJLB0sASwCGfXFDKEsDSwCGcURdcUVLA2FLBksAhnFGXXFHSwZhSwJLAIZxSF1xSUsCYUsFSwCGcUpdcUtLBWFLAUsAhnFMXXFNSwFhSwRLAIZxTl1xT0sEYXWHcVBVDnN1cmZhY2VPcGFjaXR5cVFLB0e/8AAAAAAAAH2HcVJVCWF1dG9jaGFpbnFTSweIfYdxVFUKdmR3RGVuc2l0eXFVSwdHQBQAAAAAAAB9h3FWVQ1hcm9tYXRpY0NvbG9ycVdLB059h3FYVQZoaWRkZW5xWUsHiX2HcVpVCWxpbmVXaWR0aHFbSwdHP/AAAAAAAAB9h3FcVQpzdGlja1NjYWxlcV1LB0c/8AAAAAAAAH2HcV5VB2Rpc3BsYXlxX0sHiH2HcWBVEGFyb21hdGljTGluZVR5cGVxYUsHSwJ9h3FidS4='))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksOVQEgfYdxA1ULZmlsbERpc3BsYXlxBEsOiX2HcQVVBG5hbWVxBksOVQFBfXEHVQFVXXEIKEsBSwNLBUsHSwlLC0sNZXOHcQlVBWNoYWlucQpLDlUBQX1xC1UBQk5dcQwoSwFLAYZxDUsDSwGGcQ5LBUsBhnEPSwdLAYZxEEsJSwGGcRFLC0sBhnESSw1LAYZxE2WGcRRzh3EVVQ5yaWJib25EcmF3TW9kZXEWSw5LAn2HcRdVAnNzcRhLDomJiYd9h3EZVQhtb2xlY3VsZXEaSw5LAH1xGyhLAU5dcRxLAksChnEdYYZxHksCTl1xH0sESwKGcSBhhnEhSwNOXXEiSwZLAoZxI2GGcSRLBE5dcSVLCEsChnEmYYZxJ0sFTl1xKEsKSwKGcSlhhnEqSwZOXXErSwxLAoZxLGGGcS11h3EuVQtyaWJib25Db2xvcnEvSw5OfYdxMFUFbGFiZWxxMUsOVQB9h3EyVQpsYWJlbENvbG9ycTNLDk59h3E0VQhmaWxsTW9kZXE1Sw5LAX2HcTZVBWlzSGV0cTdLDol9h3E4VQtsYWJlbE9mZnNldHE5Sw5OfYdxOlUIcG9zaXRpb25xO11xPChLAUsChnE9SwFLAoZxPksBSwKGcT9LAUsChnFASwFLAoZxQUsBSwKGcUJLAUsChnFDZVUNcmliYm9uRGlzcGxheXFESw6JfYdxRVUIb3B0aW9uYWxxRn1xR1UEc3NJZHFISw5K/////32HcUl1Lg=='))
	atomInfo = cPickle.loads(base64.b64decode('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'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVhdG9tc3ECXXEDKF1xBChLFksVZV1xBShLFksXZV1xBihLF0sYZV1xByhLGUsYZV1xCChLGUsaZV1xCShLGUsVZV1xCihLF0sbZV1xCyhLG0scZV1xDChLHUscZV1xDShLHkscZV1xDihLG0sfZV1xDyhLIEsfZV1xEChLIEshZV1xEShLIEsiZV1xEihLFksiZV1xEyhLI0sVZV1xFChLJUskZV1xFShLJkskZV1xFihLJksnZV1xFyhLKEsnZV1xGChLKEspZV1xGShLKEsqZV1xGihLKksrZV1xGyhLKkssZV1xHChLLEskZV1xHShLLEstZV1xHihLLksnZV1xHyhLJksvZV1xIChLMUswZV1xIShLMkswZV1xIihLMkszZV1xIyhLM0s0ZV1xJChLNEs1ZV1xJShLNks1ZV1xJihLN0s1ZV1xJyhLNEs4ZV1xKChLOUs4ZV1xKShLOUs6ZV1xKihLOUs7ZV1xKyhLMks7ZV1xLChLM0s8ZV1xLShLPUs8ZV1xLihLPUs+ZV1xLyhLPUswZV1xMChLQEs/ZV1xMShLQEtBZV1xMihLQktAZV1xMyhLQktDZV1xNChLREtCZV1xNShLREtFZV1xNihLRktFZV1xNyhLR0tFZV1xOChLR0s/ZV1xOShLR0tIZV1xOihLREtJZV1xOyhLSks/ZV1xPChLTEtLZV1xPShLTEtNZV1xPihLTEtOZV1xPyhLT0tOZV1xQChLT0tQZV1xQShLUEtRZV1xQihLUktRZV1xQyhLUktTZV1xRChLUktUZV1xRShLVUtUZV1xRihLVUtPZV1xRyhLVUtLZV1xSChLUEtWZV1xSShLV0tWZV1xSihLWEtWZV1xSyhLWUtLZV1xTChLW0taZV1xTShLXEtbZV1xTihLXEtdZV1xTyhLXktcZV1xUChLXktfZV1xUShLXktgZV1xUihLYUtgZV1xUyhLYktgZV1xVChLYktjZV1xVShLYktaZV1xVihLW0tkZV1xVyhLZUtaZV1xWChLZ0tmZV1xWShLZ0toZV1xWihLaEtpZV1xWyhLaktpZV1xXChLaktrZV1xXShLaktmZV1xXihLaEtsZV1xXyhLbEttZV1xYChLbkttZV1xYShLbktvZV1xYihLbktwZV1xYyhLZ0twZV1xZChLbEtxZV1xZShLcktxZV1xZihLc0txZV1xZyhLdEtmZV1xaChLdkt1ZV1xaShLd0t2ZV1xaihLeEt3ZV1xayhLeEt5ZV1xbChLekt5ZV1xbShLe0t5ZV1xbihLe0t1ZV1xbyhLe0t8ZV1xcChLeEt9ZV1xcShLd0t+ZV1xcihLdkt/ZV1xcyhLgEt1ZV1xdChLgkuBZV1xdShLg0uBZV1xdihLg0uEZV1xdyhLg0uFZV1xeChLhkuFZV1xeShLhkuHZV1xeihLh0uIZV1xeyhLiUuIZV1xfChLiUuKZV1xfShLiUuLZV1xfihLjEuLZV1xfyhLjEuBZV1xgChLjEuGZV1xgShLh0uNZV1xgihLjkuNZV1xgyhLj0uNZV1xhChLkUuQZV1xhShLkkuRZV1xhihLkkuTZV1xhyhLlEuSZV1xiChLlEuVZV1xiShLlEuWZV1xiihLl0uWZV1xiyhLmEuWZV1xjChLmEuQZV1xjShLmEuZZV1xjihLkUuaZV1xjyhLm0uQZV1xkChLnUucZV1xkShLnUueZV1xkihLnUufZV1xkyhLoEufZV1xlChLoUugZV1xlShLoUucZV1xlihLoUuiZV1xlyhLo0uiZV1xmChLo0ukZV1xmShLo0ulZV1xmihLpkulZV1xmyhLpkunZV1xnChLqEunZV1xnShLqUunZV1xnihLoEumZV1xnyhLqkucZV1xoChLrEurZV1xoShLrUurZV1xoihLrUuuZV1xoyhLr0utZV1xpChLsEuvZV1xpShLsEuxZV1xpihLskuxZV1xpyhLs0uxZV1xqChLs0urZV1xqShLs0u0ZV1xqihLsEu1ZV1xqyhLr0u2ZV1xrChLuEu3ZV1xrShLuEu5ZV1xrihLuku5ZV1xryhLuku7ZV1xsChLuku8ZV1xsShLvUu8ZV1xsihLvUu+ZV1xsyhLv0u+ZV1xtChLwEu+ZV1xtShLwUu9ZV1xtihLuEvBZV1xtyhLwUvCZV1xuChLw0vCZV1xuShLw0u3ZV1xuihLw0vEZV1xuyhLxUu3ZV1xvChLx0vGZV1xvShLx0vIZV1xvihLyUvHZV1xvyhLyUvKZV1xwChLy0vJZV1xwShLy0vMZV1xwihLy0vNZV1xwyhLzkvNZV1xxChLz0vNZV1xxShLz0vQZV1xxihLz0vGZV1xxyhL0UvGZWVVBWxhYmVscchLxFUAfYdxyVUGcmFkaXVzccpLxEc/yZmZoAAAAH2HcctVC2xhYmVsT2Zmc2V0ccxLxE59h3HNVQhkcmF3TW9kZXHOS8RLAX2Hcc9VCG9wdGlvbmFscdB9cdFVB2Rpc3BsYXlx0kvESwJ9h3HTdS4='))
	crdInfo = cPickle.loads(base64.b64decode('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'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'oneTransparentLayer': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, 'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, 'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, 'default'), 'Rf': ((0.8, 0, 0.34902), 1, 'default'), 'Ra': ((0, 0.490196, 0), 1, 'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, 'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, 'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, 'default'), 'Be': ((0.760784, 1, 0), 1, 'default'), 'Ba': ((0, 0.788235, 0), 1, 'default'), 'Bh': ((0.878431, 0, 0.219608), 1, 'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, 'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, 'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, 'default'), '_openColor00': ((1, 1, 1), 1, 'default'), '_openColor01': ((1, 0, 1), 1, 'default'), '_openColor02': ((0, 1, 1), 1, 'default'), '_openColor03': ((1, 1, 0), 1, 'default'), '_openColor04': ((1, 0, 0), 1, 'default'), '_openColor05': ((0, 0, 1), 1, 'default'), '_openColor06': ((0.67, 1, 0), 1, 'default'), '_openColor07': ((0.67, 0, 1), 1, 'default'), '_openColor08': ((0.67, 1, 1), 1, 'default'),
'H': ((1, 1, 1), 1, 'default'), 'P': ((1, 0.501961, 0), 1, 'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, 'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, 'default'), 'Gd': ((0.270588, 1, 0.780392), 1, 'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, 'default'), 'Pr': ((0.85098, 1, 0.780392), 1, 'default'), '_openColor12': ((1, 1, 0.5), 1, 'default'), '_openColor11': ((1, 0.67, 1), 1, 'default'), '_openColor10': ((0, 0.67, 1), 1, 'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, 'default'), 'Pu': ((0, 0.419608, 1), 1, 'default'), 'C': ((0.564706, 0.564706, 0.564706), 1, 'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, 'default'), 'Pa': ((0, 0.631373, 1), 1, 'default'), 'Pd': ((0, 0.411765, 0.521569), 1, 'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, 'default'), 'Po': ((0.670588, 0.360784, 0), 1, 'default'), 'Pm': ((0.639216, 1, 0.780392), 1, 'default'), 'Hs': ((0.901961, 0, 0.180392), 1, 'default'), 'Ho': ((0, 1, 0.611765), 1, 'default'), 'Hf': ((0.301961, 0.760784, 1), 1, 'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, 'default'),
'He': ((0.85098, 1, 1), 1, 'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, 'default'), 'Mg': ((0.541176, 1, 0), 1, 'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, 'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, 'default'), 'O': ((1, 0.0509804, 0.0509804), 1, 'default'), 'Mt': ((0.921569, 0, 0.14902), 1, 'default'), 'S': ((1, 1, 0.188235), 1, 'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, 'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, 'default'), 'Eu': ((0.380392, 1, 0.780392), 1, 'default'), 'Zr': ((0.580392, 0.878431, 0.878431), 1, 'default'), 'Er': ((0, 0.901961, 0.458824), 1, 'default'), '_openColor13': ((1, 0, 0.5), 1, 'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, 'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, 'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, 'default'), 'Nd': ((0.780392, 1, 0.780392), 1, 'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, 'default'), 'Np': ((0, 0.501961, 1), 1, 'default'), 'Fr': ((0.258824, 0, 0.4), 1, 'default'), '_openColor15': ((0.67, 0.67, 1), 1, 'default'), '_openColor14': ((0, 1, 0.5), 1, 'default'),
'Fe': ((0.878431, 0.4, 0.2), 1, 'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, 'default'), 'B': ((1, 0.709804, 0.709804), 1, 'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, 'default'), 'Sr': ((0, 1, 0), 1, 'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, 'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, 'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, 'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, 'default'), 'Sm': ((0.560784, 1, 0.780392), 1, 'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, 'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, 'default'), 'Sb': ((0.619608, 0.388235, 0.709804), 1, 'default'), 'Sg': ((0.85098, 0, 0.270588), 1, 'default'), 'Se': ((1, 0.631373, 0), 1, 'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, 'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, 'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, 'default'), 'Ca': ((0.239216, 1, 0), 1, 'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, 'default'), 'Ce': ((1, 1, 0.780392), 1, 'default'), 'Cd': ((1, 0.85098, 0.560784), 1, 'default'),
'Tm': ((0, 0.831373, 0.321569), 1, 'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, 'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, 'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, 'default'), 'La': ((0.439216, 0.831373, 1), 1, 'default'), 'Li': ((0.8, 0.501961, 1), 1, 'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, 'default'), 'Lu': ((0, 0.670588, 0.141176), 1, 'default'), 'Lr': ((0.780392, 0, 0.4), 1, 'default'), 'Th': ((0, 0.729412, 1), 1, 'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, 'default'), 'Te': ((0.831373, 0.478431, 0), 1, 'default'), 'Tb': ((0.188235, 1, 0.780392), 1, 'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, 'default'), 'Ta': ((0.301961, 0.65098, 1), 1, 'default'), 'Yb': ((0, 0.74902, 0.219608), 1, 'default'), 'Db': ((0.819608, 0, 0.309804), 1, 'default'), 'Dy': ((0.121569, 1, 0.780392), 1, 'default'), '_openColor09': ((1, 0.67, 0), 1, 'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, 'default'), 'I': ((0.580392, 0, 0.580392), 1, 'default'), 'U': ((0, 0.560784, 1), 1, 'default'), 'Y': ((0.580392, 1, 1), 1, 'default'),
'Ac': ((0.439216, 0.670588, 0.980392), 1, 'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, 'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, 'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, 'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, 'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, 'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, 'default'), 'Au': ((1, 0.819608, 0.137255), 1, 'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, 'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, 'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, 'default')}
	materials = {'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': ['distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 10, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = {0: ('_openColor00', (1, 1, 1, 1)), 1: ('_openColor01', (1, 0, 1, 1)), 2: ('_openColor02', (0, 1, 1, 1)), 3: ('_openColor03', (1, 1, 0, 1)), 4: ('_openColor04', (1, 0, 0, 1)), 5: ('_openColor05', (0, 0, 1, 1)), 6: ('_openColor06', (0.67, 1, 0, 1)), 7: ('N', (0.188235, 0.313725, 0.972549, 1)), 8: ('H', (1, 1, 1, 1)), 9: ('O', (1, 0.0509804, 0.0509804, 1)), 10: ('yellow', (1, 1, 0, 1)), 11: ('white', (1, 1, 1, 1)), 12: ('green', (0, 1, 0, 1))}
	viewerInfo = {'cameraAttrs': {'center': (45.701, 2.6095, 18.0006), 'fieldOfView': 26.2751, 'nearFar': (28.1594, 8.62876), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 20.526}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'viewSize': 9.94545, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 1, 'depthCue': True, 'highlight': 0, 'scaleFactor': 0.673419}, 'viewerHL': 12, 'cameraMode': 'mono', 'detail': 1, 'viewerFog': None, 'viewerBG': 11}

	replyobj.status("Initializing session restore...", blankAfter=0)
	init(colorInfo)
	replyobj.status("Restoring colors...", blankAfter=0)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0)
	restoreViewer(viewerInfo)
Ejemplo n.º 5
0
def restoreCoreModels():
	from SimpleSession.versions.v45 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwpOfYdxA1UJYmFsbFNjYWxlcQRLCkc/0AAAAAAAAH2HcQVVFHJpYmJvbkhpZGVzTWFpbmNoYWlucQZLCoh9h3EHVQlwb2ludFNpemVxCEsKRz/wAAAAAAAAfYdxCVUEbmFtZXEKSwpVEENDX2RpYWdvbl82My5wZGJ9cQsoVRFDQ19kaWFnb25fMTcwLnBkYnEMXXENSwBhVRBDQ19kaWFnb25fNTYucGRicQ5dcQ9LBmFVEENDX2RpYWdvbl82NC5wZGJxEF1xEUsJYVUQQ0NfZGlhZ29uXzM2LnBkYnESXXETSwVhVRBDQ19kaWFnb25fMjcucGRicRRdcRVLAmFVEUNDX2RpYWdvbl8xNzEucGRicRZdcRdLAWFVEENDX2RpYWdvbl81Ny5wZGJxGF1xGUsHYVUQQ0NfZGlhZ29uXzI4LnBkYnEaXXEbSwNhVRBDQ19kaWFnb25fMzUucGRicRxdcR1LBGF1h3EeVQ9hcm9tYXRpY0Rpc3BsYXlxH0sKiX2HcSBVBWNvbG9ycSFLCksAfXEiKEsBXXEjSwFhSwJdcSRLAmFLA11xJUsDYUsEXXEmSwRhSwVdcSdLBWFLBl1xKEsGYUsHXXEpSwdhSwhdcSpLCGFLCV1xK0sJYXWHcSxVCG9wdGlvbmFscS19cS5VCG9wZW5lZEFzcS+ISwooVTovaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQ0Mvc3BhdGlhbC9DQ19kaWFnb25fNTYucGRiVQNQREJxME6JdHExfXEyKChVOy9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DQy9zcGF0aWFsL0NDX2RpYWdvbl8xNzEucGRiaDBOiXRxM11xNEsBYShVOi9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DQy9zcGF0aWFsL0NDX2RpYWdvbl8yOC5wZGJoME6JdHE1XXE2SwNhKFU6L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0NDL3NwYXRpYWwvQ0NfZGlhZ29uXzYzLnBkYmgwTol0cTddcThLCGEoVTovaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQ0Mvc3BhdGlhbC9DQ19kaWFnb25fMjcucGRiaDBOiXRxOV1xOksCYShVOi9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DQy9zcGF0aWFsL0NDX2RpYWdvbl8zNi5wZGJoME6JdHE7XXE8SwVhKFU6L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0NDL3NwYXRpYWwvQ0NfZGlhZ29uXzM1LnBkYmgwTol0cT1dcT5LBGEoVTsvaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQ0Mvc3BhdGlhbC9DQ19kaWFnb25fMTcwLnBkYmgwTol0cT9dcUBLAGEoVTovaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQ0Mvc3BhdGlhbC9DQ19kaWFnb25fNTcucGRiaDBOiXRxQV1xQksHYShVOi9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DQy9zcGF0aWFsL0NDX2RpYWdvbl82NC5wZGJoME6JdHFDXXFESwlhdYeGcUVzVQpwZGJIZWFkZXJzcUZdcUcofXFIfXFJfXFKfXFLfXFMfXFNfXFOfXFPfXFQfXFRZVUMYXJvbWF0aWNNb2RlcVJLCksBfYdxU1UDaWRzcVRLCksJSwCGfXFVKEsASwCGcVZdcVdLAGFLB0sAhnFYXXFZSwdhSwNLAIZxWl1xW0sDYUsISwCGcVxdcV1LCGFLBksAhnFeXXFfSwZhSwJLAIZxYF1xYUsCYUsFSwCGcWJdcWNLBWFLAUsAhnFkXXFlSwFhSwRLAIZxZl1xZ0sEYXWHcWhVDnN1cmZhY2VPcGFjaXR5cWlLCke/8AAAAAAAAH2HcWpVCWF1dG9jaGFpbnFrSwqIfYdxbFUKdmR3RGVuc2l0eXFtSwpHQBQAAAAAAAB9h3FuVQ1hcm9tYXRpY0NvbG9ycW9LCk59h3FwVQZoaWRkZW5xcUsKiX2HcXJVCWxpbmVXaWR0aHFzSwpHP/AAAAAAAAB9h3F0VQpzdGlja1NjYWxlcXVLCkc/8AAAAAAAAH2HcXZVB2Rpc3BsYXlxd0sKiH2HcXhVEGFyb21hdGljTGluZVR5cGVxeUsKSwJ9h3F6dS4='))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksUVQEgfYdxA1ULZmlsbERpc3BsYXlxBEsUiX2HcQVVBG5hbWVxBksUVQFDfYdxB1UFY2hhaW5xCEsUVQFBfXEJVQFCTl1xCihLAUsBhnELSwNLAYZxDEsFSwGGcQ1LB0sBhnEOSwlLAYZxD0sLSwGGcRBLDUsBhnERSw9LAYZxEksRSwGGcRNLE0sBhnEUZYZxFXOHcRZVDnJpYmJvbkRyYXdNb2RlcRdLFEsCfYdxGFUCc3NxGUsUiYmJh32HcRpVCG1vbGVjdWxlcRtLFEsAfXEcKEsBTl1xHUsCSwKGcR5hhnEfSwJOXXEgSwRLAoZxIWGGcSJLA05dcSNLBksChnEkYYZxJUsETl1xJksISwKGcSdhhnEoSwVOXXEpSwpLAoZxKmGGcStLBk5dcSxLDEsChnEtYYZxLksHTl1xL0sOSwKGcTBhhnExSwhOXXEySxBLAoZxM2GGcTRLCU5dcTVLEksChnE2YYZxN3WHcThVC3JpYmJvbkNvbG9ycTlLFE59h3E6VQVsYWJlbHE7SxRVAH2HcTxVCmxhYmVsQ29sb3JxPUsUTn2HcT5VCGZpbGxNb2RlcT9LFEsBfYdxQFUFaXNIZXRxQUsUiX2HcUJVC2xhYmVsT2Zmc2V0cUNLFE59h3FEVQhwb3NpdGlvbnFFXXFGKEsBSwKGcUdLAUsChnFISwFLAoZxSUsBSwKGcUpLAUsChnFLSwFLAoZxTEsBSwKGcU1LAUsChnFOSwFLAoZxT0sBSwKGcVBlVQ1yaWJib25EaXNwbGF5cVFLFIl9h3FSVQhvcHRpb25hbHFTfXFUVQRzc0lkcVVLFEr/////fYdxVnUu'))
	atomInfo = cPickle.loads(base64.b64decode('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'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVhdG9tc3ECXXEDKF1xBChLH0seZV1xBShLH0sgZV1xBihLIUsgZV1xByhLIUsiZV1xCChLIksjZV1xCShLI0skZV1xCihLI0seZV1xCyhLIkslZV1xDChLIUsmZV1xDShLJ0smZV1xDihLKEsmZV1xDyhLH0spZV1xEChLKkseZV1xEShLLEsrZV1xEihLLUsrZV1xEyhLLUsuZV1xFChLL0suZV1xFShLL0swZV1xFihLMEsxZV1xFyhLMEsyZV1xGChLMksrZV1xGShLMkszZV1xGihLL0s0ZV1xGyhLNUs0ZV1xHChLNks0ZV1xHShLLUs3ZV1xHihLOUs4ZV1xHyhLOks4ZV1xIChLO0s6ZV1xIShLO0s8ZV1xIihLPUs7ZV1xIyhLPUs+ZV1xJChLP0s+ZV1xJShLP0s4ZV1xJihLP0tAZV1xJyhLPUtBZV1xKChLQktBZV1xKShLQ0tBZV1xKihLOktEZV1xKyhLRktFZV1xLChLR0tFZV1xLShLR0tIZV1xLihLSUtHZV1xLyhLSUtKZV1xMChLS0tJZV1xMShLS0tMZV1xMihLTUtMZV1xMyhLTUtOZV1xNChLTUtFZV1xNShLS0tPZV1xNihLUEtPZV1xNyhLUUtPZV1xOChLU0tSZV1xOShLU0tUZV1xOihLVUtTZV1xOyhLVUtWZV1xPChLV0tVZV1xPShLV0tYZV1xPihLWUtYZV1xPyhLWktYZV1xQChLV0tbZV1xQShLXEtbZV1xQihLXEtSZV1xQyhLXEtdZV1xRChLXktSZV1xRShLYEtfZV1xRihLYUtfZV1xRyhLYkthZV1xSChLY0tiZV1xSShLY0tkZV1xSihLZUtkZV1xSyhLZUtmZV1xTChLZUtfZV1xTShLY0tnZV1xTihLaEtnZV1xTyhLaUtnZV1xUChLYktqZV1xUShLYUtrZV1xUihLbUtsZV1xUyhLbktsZV1xVChLbktvZV1xVShLcEtuZV1xVihLcEtxZV1xVyhLcktwZV1xWChLcktzZV1xWShLdEtzZV1xWihLdUtzZV1xWyhLckt2ZV1xXChLd0t2ZV1xXShLd0tsZV1xXihLd0t4ZV1xXyhLekt5ZV1xYChLe0t5ZV1xYShLe0t8ZV1xYihLfUt7ZV1xYyhLfkt9ZV1xZChLfkt/ZV1xZShLgEt/ZV1xZihLgEuBZV1xZyhLgEt5ZV1xaChLfkuCZV1xaShLg0uCZV1xaihLhEuCZV1xayhLfUuFZV1xbChLh0uGZV1xbShLh0uIZV1xbihLh0uJZV1xbyhLikuJZV1xcChLikuLZV1xcShLi0uMZV1xcihLi0uNZV1xcyhLjUuGZV1xdChLjUuOZV1xdShLikuPZV1xdihLkEuPZV1xdyhLkUuPZV1xeChLkkuGZV1xeShLlEuTZV1xeihLlEuVZV1xeyhLlEuWZV1xfChLl0uWZV1xfShLl0uYZV1xfihLmUuYZV1xfyhLmkuYZV1xgChLl0ubZV1xgShLm0ucZV1xgihLm0udZV1xgyhLnUuTZV1xhChLnUueZV1xhShLn0uTZV1xhihLoUugZV1xhyhLoUuiZV1xiChLoUujZV1xiShLpEujZV1xiihLpEulZV1xiyhLpUumZV1xjChLpUunZV1xjShLp0uoZV1xjihLp0ugZV1xjyhLpEupZV1xkChLqkupZV1xkShLq0upZV1xkihLrEugZV1xkyhLrkutZV1xlChLrkuvZV1xlShLrkuwZV1xlihLsUuwZV1xlyhLsUuyZV1xmChLs0uyZV1xmShLtEuyZV1xmihLsUu1ZV1xmyhLtUu2ZV1xnChLtku3ZV1xnShLtkutZV1xnihLtUu4ZV1xnyhLuUutZV1xoChLu0u6ZV1xoShLu0u8ZV1xoihLvUu7ZV1xoyhLvUu+ZV1xpChLv0u9ZV1xpShLv0vAZV1xpihLwUvAZV1xpyhLwkvAZV1xqChLv0vDZV1xqShLxEvDZV1xqihLxEu6ZV1xqyhLxEvFZV1xrChLxku6ZV1xrShLyEvHZV1xrihLyEvJZV1xryhLyEvKZV1xsChLy0vKZV1xsShLy0vMZV1xsihLzEvNZV1xsyhLzEvOZV1xtChLzkvHZV1xtShLzkvPZV1xtihLy0vQZV1xtyhL0UvQZV1xuChL0kvQZV1xuShL00vHZV1xuihL1UvUZV1xuyhL1kvUZV1xvChL1kvXZV1xvShL2EvXZV1xvihL2EvZZV1xvyhL2UvaZV1xwChL2UvbZV1xwShL20vUZV1xwihL20vcZV1xwyhL2EvdZV1xxChL3kvdZV1xxShL30vdZV1xxihL1kvgZV1xxyhL4kvhZV1xyChL40vhZV1xyShL40vkZV1xyihL5UvjZV1xyyhL5kvlZV1xzChL5kvnZV1xzShL6EvnZV1xzihL6EvhZV1xzyhL6EvpZV1x0ChL5kvqZV1x0ShL60vqZV1x0ihL7EvqZV1x0yhL5UvtZV1x1ChL70vuZV1x1ShL8EvuZV1x1ihL8EvxZV1x1yhL8kvxZV1x2ChL8kvzZV1x2ShL80v0ZV1x2ihL80v1ZV1x2yhL9Uv2ZV1x3ChL9UvuZV1x3ShL8kv3ZV1x3ihL+Ev3ZV1x3yhL+Uv3ZV1x4ChL8Ev6ZV1x4ShL/Ev7ZV1x4ihL/Uv7ZV1x4yhL/Uv+ZV1x5ChL/0v9ZV1x5ShL/00AAWVdceYoTQEBS/9lXXHnKE0BAU0CAWVdcegoTQMBTQIBZV1x6ShNBAFNAgFlXXHqKE0BAU0FAWVdcesoTQYBTQUBZV1x7ChNBgFL+2Vdce0oTQYBTQcBZV1x7ihNCQFNCAFlXXHvKE0JAU0KAWVdcfAoTQsBTQoBZV1x8ShNCwFNDAFlXXHyKE0MAU0NAWVdcfMoTQwBTQ4BZV1x9ChNDgFNCAFlXXH1KE0OAU0PAWVdcfYoTQsBTRABZV1x9yhNEQFNEAFlXXH4KE0SAU0QAWVdcfkoTQkBTRMBZV1x+ihNFAFNCAFlXXH7KE0WAU0VAWVdcfwoTRcBTRUBZV1x/ShNFwFNGAFlXXH+KE0ZAU0XAWVdcf8oTRoBTRkBZV1yAAEAAChNGgFNGwFlXXIBAQAAKE0cAU0bAWVdcgIBAAAoTR0BTRsBZV1yAwEAAChNGgFNHgFlXXIEAQAAKE0fAU0eAWVdcgUBAAAoTR8BTRUBZV1yBgEAAChNHwFNIAFlXXIHAQAAKE0ZAU0hAWVlVQVsYWJlbHIIAQAATQQBVQB9h3IJAQAAVQZyYWRpdXNyCgEAAE0EAUc/yZmZoAAAAH2HcgsBAABVC2xhYmVsT2Zmc2V0cgwBAABNBAFOfYdyDQEAAFUIZHJhd01vZGVyDgEAAE0EAUsBfYdyDwEAAFUIb3B0aW9uYWxyEAEAAH1yEQEAAFUHZGlzcGxheXISAQAATQQBSwJ9h3ITAQAAdS4='))
	crdInfo = cPickle.loads(base64.b64decode('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'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'oneTransparentLayer': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, 'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, 'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, 'default'), 'Rf': ((0.8, 0, 0.34902), 1, 'default'), 'Ra': ((0, 0.490196, 0), 1, 'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, 'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, 'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, 'default'), 'Be': ((0.760784, 1, 0), 1, 'default'), 'Ba': ((0, 0.788235, 0), 1, 'default'), 'Bh': ((0.878431, 0, 0.219608), 1, 'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, 'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, 'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, 'default'), '_openColor00': ((1, 1, 1), 1, 'default'), '_openColor01': ((1, 0, 1), 1, 'default'), '_openColor02': ((0, 1, 1), 1, 'default'), '_openColor03': ((1, 1, 0), 1, 'default'), '_openColor04': ((1, 0, 0), 1, 'default'), '_openColor05': ((0, 0, 1), 1, 'default'), '_openColor06': ((0.67, 1, 0), 1, 'default'), '_openColor07': ((0.67, 0, 1), 1, 'default'), '_openColor08': ((0.67, 1, 1), 1, 'default'),
'H': ((1, 1, 1), 1, 'default'), 'P': ((1, 0.501961, 0), 1, 'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, 'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, 'default'), 'Gd': ((0.270588, 1, 0.780392), 1, 'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, 'default'), 'Pr': ((0.85098, 1, 0.780392), 1, 'default'), '_openColor12': ((1, 1, 0.5), 1, 'default'), '_openColor11': ((1, 0.67, 1), 1, 'default'), '_openColor10': ((0, 0.67, 1), 1, 'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, 'default'), 'Pu': ((0, 0.419608, 1), 1, 'default'), 'C': ((0.564706, 0.564706, 0.564706), 1, 'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, 'default'), 'Pa': ((0, 0.631373, 1), 1, 'default'), 'Pd': ((0, 0.411765, 0.521569), 1, 'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, 'default'), 'Po': ((0.670588, 0.360784, 0), 1, 'default'), 'Pm': ((0.639216, 1, 0.780392), 1, 'default'), 'Hs': ((0.901961, 0, 0.180392), 1, 'default'), 'Ho': ((0, 1, 0.611765), 1, 'default'), 'Hf': ((0.301961, 0.760784, 1), 1, 'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, 'default'),
'He': ((0.85098, 1, 1), 1, 'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, 'default'), 'Mg': ((0.541176, 1, 0), 1, 'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, 'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, 'default'), 'O': ((1, 0.0509804, 0.0509804), 1, 'default'), 'Mt': ((0.921569, 0, 0.14902), 1, 'default'), 'S': ((1, 1, 0.188235), 1, 'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, 'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, 'default'), 'Eu': ((0.380392, 1, 0.780392), 1, 'default'), 'Zr': ((0.580392, 0.878431, 0.878431), 1, 'default'), 'Er': ((0, 0.901961, 0.458824), 1, 'default'), '_openColor13': ((1, 0, 0.5), 1, 'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, 'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, 'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, 'default'), 'Nd': ((0.780392, 1, 0.780392), 1, 'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, 'default'), 'Np': ((0, 0.501961, 1), 1, 'default'), 'Fr': ((0.258824, 0, 0.4), 1, 'default'), '_openColor15': ((0.67, 0.67, 1), 1, 'default'), '_openColor14': ((0, 1, 0.5), 1, 'default'),
'Fe': ((0.878431, 0.4, 0.2), 1, 'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, 'default'), 'B': ((1, 0.709804, 0.709804), 1, 'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, 'default'), 'Sr': ((0, 1, 0), 1, 'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, 'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, 'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, 'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, 'default'), 'Sm': ((0.560784, 1, 0.780392), 1, 'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, 'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, 'default'), 'Sb': ((0.619608, 0.388235, 0.709804), 1, 'default'), 'Sg': ((0.85098, 0, 0.270588), 1, 'default'), 'Se': ((1, 0.631373, 0), 1, 'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, 'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, 'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, 'default'), 'Ca': ((0.239216, 1, 0), 1, 'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, 'default'), 'Ce': ((1, 1, 0.780392), 1, 'default'), 'Cd': ((1, 0.85098, 0.560784), 1, 'default'),
'Tm': ((0, 0.831373, 0.321569), 1, 'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, 'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, 'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, 'default'), 'La': ((0.439216, 0.831373, 1), 1, 'default'), 'Li': ((0.8, 0.501961, 1), 1, 'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, 'default'), 'Lu': ((0, 0.670588, 0.141176), 1, 'default'), 'Lr': ((0.780392, 0, 0.4), 1, 'default'), 'Th': ((0, 0.729412, 1), 1, 'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, 'default'), 'Te': ((0.831373, 0.478431, 0), 1, 'default'), 'Tb': ((0.188235, 1, 0.780392), 1, 'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, 'default'), 'Ta': ((0.301961, 0.65098, 1), 1, 'default'), 'Yb': ((0, 0.74902, 0.219608), 1, 'default'), 'Db': ((0.819608, 0, 0.309804), 1, 'default'), 'Dy': ((0.121569, 1, 0.780392), 1, 'default'), '_openColor09': ((1, 0.67, 0), 1, 'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, 'default'), 'I': ((0.580392, 0, 0.580392), 1, 'default'), 'U': ((0, 0.560784, 1), 1, 'default'), 'Y': ((0.580392, 1, 1), 1, 'default'),
'Ac': ((0.439216, 0.670588, 0.980392), 1, 'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, 'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, 'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, 'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, 'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, 'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, 'default'), 'Au': ((1, 0.819608, 0.137255), 1, 'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, 'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, 'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, 'default')}
	materials = {'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': ['distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 13, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = {0: ('_openColor00', (1, 1, 1, 1)), 1: ('_openColor01', (1, 0, 1, 1)), 2: ('_openColor02', (0, 1, 1, 1)), 3: ('_openColor03', (1, 1, 0, 1)), 4: ('_openColor04', (1, 0, 0, 1)), 5: ('_openColor05', (0, 0, 1, 1)), 6: ('_openColor06', (0.67, 1, 0, 1)), 7: ('_openColor07', (0.67, 0, 1, 1)), 8: ('_openColor08', (0.67, 1, 1, 1)), 9: ('_openColor09', (1, 0.67, 0, 1)), 10: ('N', (0.188235, 0.313725, 0.972549, 1)), 11: ('H', (1, 1, 1, 1)), 12: ('O', (1, 0.0509804, 0.0509804, 1)), 13: ('yellow', (1, 1, 0, 1)), 14: ('white', (1, 1, 1, 1)), 15: ('green', (0, 1, 0, 1))}
	viewerInfo = {'cameraAttrs': {'center': (4.575, -2.0665, -28.5181), 'fieldOfView': 26.2751, 'nearFar': (-20.5033, -36.6244), 'ortho': False, 'eyeSeparation': 50.8, 'focal': -28.7795}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'viewSize': 1.13362, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 1, 'depthCue': True, 'highlight': 0, 'scaleFactor': 0.11365}, 'viewerHL': 15, 'cameraMode': 'mono', 'detail': 1, 'viewerFog': None, 'viewerBG': 14}

	replyobj.status("Initializing session restore...", blankAfter=0)
	init(colorInfo)
	replyobj.status("Restoring colors...", blankAfter=0)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0)
	restoreViewer(viewerInfo)
Ejemplo n.º 6
0
def restoreCoreModels():
	from SimpleSession.versions.v45 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwVOfYdxA1UJYmFsbFNjYWxlcQRLBUc/0AAAAAAAAH2HcQVVFHJpYmJvbkhpZGVzTWFpbmNoYWlucQZLBYh9h3EHVQlwb2ludFNpemVxCEsFRz/wAAAAAAAAfYdxCVUEbmFtZXEKSwVVEUNDX2RpYWdvbl8xMTEucGRifXELKFUQQ0NfZGlhZ29uXzcwLnBkYnEMXXENSwRhVRBDQ19kaWFnb25fNjkucGRicQ5dcQ9LA2FVEUNDX2RpYWdvbl8xMTAucGRicRBdcRFLAGFVEUNDX2RpYWdvbl8xMjEucGRicRJdcRNLAmF1h3EUVQ9hcm9tYXRpY0Rpc3BsYXlxFUsFiX2HcRZVBWNvbG9ycRdLBUsAfXEYKEsBXXEZSwFhSwJdcRpLAmFLA11xG0sDYUsEXXEcSwRhdYdxHVUIb3B0aW9uYWxxHn1xH1UIb3BlbmVkQXNxIIhLBShVOy9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DQy9oX2JvbmRlZC9DQ19kaWFnb25fNjkucGRiVQNQREJxIU6JdHEifXEjKChVOy9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DQy9oX2JvbmRlZC9DQ19kaWFnb25fNzAucGRiaCFOiXRxJF1xJUsEYShVPC9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9DQy9oX2JvbmRlZC9DQ19kaWFnb25fMTEwLnBkYmghTol0cSZdcSdLAGEoVTwvaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvQ0MvaF9ib25kZWQvQ0NfZGlhZ29uXzExMS5wZGJoIU6JdHEoXXEpSwFhKFU8L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0NDL2hfYm9uZGVkL0NDX2RpYWdvbl8xMjEucGRiaCFOiXRxKl1xK0sCYXWHhnEsc1UKcGRiSGVhZGVyc3EtXXEuKH1xL31xMH1xMX1xMn1xM2VVDGFyb21hdGljTW9kZXE0SwVLAX2HcTVVA2lkc3E2SwVLA0sAhn1xNyhLAksAhnE4XXE5SwJhSwFLAIZxOl1xO0sBYUsASwCGcTxdcT1LAGFLBEsAhnE+XXE/SwRhdYdxQFUOc3VyZmFjZU9wYWNpdHlxQUsFR7/wAAAAAAAAfYdxQlUJYXV0b2NoYWlucUNLBYh9h3FEVQp2ZHdEZW5zaXR5cUVLBUdAFAAAAAAAAH2HcUZVDWFyb21hdGljQ29sb3JxR0sFTn2HcUhVBmhpZGRlbnFJSwWJfYdxSlUJbGluZVdpZHRocUtLBUc/8AAAAAAAAH2HcUxVCnN0aWNrU2NhbGVxTUsFRz/wAAAAAAAAfYdxTlUHZGlzcGxheXFPSwWIfYdxUFUQYXJvbWF0aWNMaW5lVHlwZXFRSwVLAn2HcVJ1Lg=='))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksKVQEgfYdxA1ULZmlsbERpc3BsYXlxBEsKiX2HcQVVBG5hbWVxBksKVQFDfYdxB1UFY2hhaW5xCEsKVQFBfXEJVQFCTl1xCihLAUsBhnELSwNLAYZxDEsFSwGGcQ1LB0sBhnEOSwlLAYZxD2WGcRBzh3ERVQ5yaWJib25EcmF3TW9kZXESSwpLAn2HcRNVAnNzcRRLComJiYd9h3EVVQhtb2xlY3VsZXEWSwpLAH1xFyhLAU5dcRhLAksChnEZYYZxGksCTl1xG0sESwKGcRxhhnEdSwNOXXEeSwZLAoZxH2GGcSBLBE5dcSFLCEsChnEiYYZxI3WHcSRVC3JpYmJvbkNvbG9ycSVLCk59h3EmVQVsYWJlbHEnSwpVAH2HcShVCmxhYmVsQ29sb3JxKUsKTn2HcSpVCGZpbGxNb2RlcStLCksBfYdxLFUFaXNIZXRxLUsKiX2HcS5VC2xhYmVsT2Zmc2V0cS9LCk59h3EwVQhwb3NpdGlvbnExXXEyKEsBSwKGcTNLAUsChnE0SwFLAoZxNUsBSwKGcTZLAUsChnE3ZVUNcmliYm9uRGlzcGxheXE4SwqJfYdxOVUIb3B0aW9uYWxxOn1xO1UEc3NJZHE8SwpK/////32HcT11Lg=='))
	atomInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQdyZXNpZHVlcQJLgksFfXEDKEsGTl1xBEsNSw2GcQVhhnEGSwdOXXEHSxpLDYZxCGGGcQlLCE5dcQpLJ0sNhnELYYZxDEsJTl1xDUs0Sw2GcQ5hhnEPSwpOXXEQS0FLDYZxEWGGcRJLC05dcRNLTksNhnEUYYZxFUsMTl1xFktbSw2GcRdhhnEYSw1OXXEZS2hLDYZxGmGGcRtLDk5dcRxLdUsNhnEdYYZxHnWHcR9VCHZkd0NvbG9ycSBLgk59h3EhVQRuYW1lcSJLglUDMUg0fXEjKFUCSDFxJF1xJShLDEsZSxtLKEtAS01LT0tnS3RLgWVVAkg2cSZdcScoSwdLD0sdSzBLP0tLS1dLZktzS3xlVQMySDRxKF1xKShLCUsXSyNLM0s6S0dLWktjS25LfmVVAkg1cSpdcSsoSwVLEUsfSy5LPUtJS1VLZUtxS3plVQJPMnEsXXEtKEsLSxVLJksqSzZLTEtRS2FLakuAZVUCQzJxLl1xLyhLAUsUSyVLKUs1S0JLUEtgS2lLdmVVAk4xcTBdcTEoSwBLDUsaSydLNEtBS05LW0toS3VlVQJOM3EyXXEzKEsCSxNLJEsrSzdLQ0tSS19La0t3ZVUCTjRxNF1xNShLCEsWSyFLMUs5S0VLWEtiS21LfWVVAkM2cTZdcTcoSwZLDkscSy9LPktKS1ZLXEtyS3tlVQJDNXE4XXE5KEsESxBLHkstSzxLSEtUS11LcEt5ZVUCQzRxOl1xOyhLA0sSSyBLLEs4S0RLU0teS2xLeGV1h3E8VQN2ZHdxPUuCiX2HcT5VDnN1cmZhY2VEaXNwbGF5cT9Lgol9h3FAVQVjb2xvcnFBS4JLBn1xQihOXXFDKEsBSwNLBEsGSw5LEEsSSxRLHEseSyBLJUspSyxLLUsvSzVLOEs8Sz5LQktES0hLSktQS1NLVEtWS1xLXUteS2BLaUtsS3BLckt2S3hLeUt7ZUsFXXFEKEsASwJLCEsNSxNLFksaSyFLJEsnSytLMUs0SzdLOUtBS0NLRUtOS1JLWEtbS19LYktoS2tLbUt1S3dLfWVLB11xRShLC0sVSyZLKks2S0xLUUthS2pLgGV1h3FGVQlpZGF0bVR5cGVxR0uCiX2HcUhVBmFsdExvY3FJS4JVAH2HcUpVBWxhYmVscUtLglUAfYdxTFUOc3VyZmFjZU9wYWNpdHlxTUuCR7/wAAAAAAAAfYdxTlUHZWxlbWVudHFPS4JLAX1xUChLCF1xUShLC0sVSyZLKks2S0xLUUthS2pLgGVLBl1xUihLAUsDSwRLBksOSxBLEksUSxxLHksgSyVLKUssSy1LL0s1SzhLPEs+S0JLREtIS0pLUEtTS1RLVktcS11LXktgS2lLbEtwS3JLdkt4S3lLe2VLB11xUyhLAEsCSwhLDUsTSxZLGkshSyRLJ0srSzFLNEs3SzlLQUtDS0VLTktSS1hLW0tfS2JLaEtrS21LdUt3S31ldYdxVFUKbGFiZWxDb2xvcnFVS4JOfYdxVlUMc3VyZmFjZUNvbG9ycVdLgk59h3FYVQZyYWRpdXNxWUuCRz/wAAAAAAAAfXFaKEc/+gAAAAAAAF1xWyhLAEsCSwhLDUsTSxZLGkshSyRLJ0srSzFLNEs3SzlLQUtDS0VLTktSS1hLW0tfS2JLaEtrS21LdUt3S31lRz/7MzNAAAAAXXFcKEsBSwNLBEsGSw5LEEsSSxRLHEseSyBLJUspSyxLLUsvSzVLOEs8Sz5LQktES0hLSktQS1NLVEtWS1xLXUteS2BLaUtsS3BLckt2S3hLeUt7ZUc/964UgAAAAF1xXShLC0sVSyZLKks2S0xLUUthS2pLgGV1h3FeVQtsYWJlbE9mZnNldHFfS4JOfYdxYFUPc3VyZmFjZUNhdGVnb3J5cWFLglUEbWFpbn2HcWJVCGRyYXdNb2RlcWNLgksCfYdxZFUIb3B0aW9uYWxxZX1xZihVB2JmYWN0b3JxZ4hLgkcAAAAAAAAAAH2HhnFoVQlvY2N1cGFuY3lxaYhLgkcAAAAAAAAAAH2HhnFqdVUHZGlzcGxheXFrS4KIfXFsiU5dcW0oSwVLAYZxbksHSwGGcW9LD0sBhnFwSxFLAYZxcUsdSwGGcXJLH0sBhnFzSy5LAYZxdEswSwGGcXVLPUsBhnF2Sz9LAYZxd0tJSwGGcXhLS0sBhnF5S1VLAYZxektXSwGGcXtLZUsChnF8S3FLAYZxfUtzSwGGcX5LeksBhnF/S3xLAYZxgGWGcYFzh3GCdS4='))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVhdG9tc3ECXXEDKF1xBChLEEsPZV1xBShLEEsRZV1xBihLEksRZV1xByhLEksTZV1xCChLE0sUZV1xCShLE0sVZV1xCihLFUsPZV1xCyhLFUsWZV1xDChLEksXZV1xDShLGEsXZV1xDihLGUsXZV1xDyhLEEsaZV1xEChLG0sPZV1xEShLHUscZV1xEihLHUseZV1xEyhLH0sdZV1xFChLH0sgZV1xFShLIUsfZV1xFihLIUsiZV1xFyhLI0siZV1xGChLI0scZV1xGShLI0skZV1xGihLIUslZV1xGyhLJkslZV1xHChLJ0slZV1xHShLKEscZV1xHihLKkspZV1xHyhLK0spZV1xIChLK0ssZV1xIShLLUsrZV1xIihLLUsuZV1xIyhLL0stZV1xJChLL0swZV1xJShLMUswZV1xJihLMkswZV1xJyhLL0szZV1xKChLNEszZV1xKShLNEs1ZV1xKihLNEspZV1xKyhLN0s2ZV1xLChLOEs2ZV1xLShLOEs5ZV1xLihLOEs6ZV1xLyhLO0s6ZV1xMChLO0s8ZV1xMShLPEs9ZV1xMihLPEs+ZV1xMyhLPks2ZV1xNChLPks/ZV1xNShLO0tAZV1xNihLQUtAZV1xNyhLQktAZV1xOChLREtDZV1xOShLREtFZV1xOihLREtGZV1xOyhLR0tGZV1xPChLR0tIZV1xPShLSUtIZV1xPihLSktIZV1xPyhLR0tLZV1xQChLS0tMZV1xQShLS0tNZV1xQihLTUtDZV1xQyhLTUtOZV1xRChLT0tDZV1xRShLUUtQZV1xRihLUUtSZV1xRyhLU0tSZV1xSChLU0tUZV1xSShLVUtUZV1xSihLVktUZV1xSyhLU0tXZV1xTChLV0tYZV1xTShLV0tZZV1xTihLWUtaZV1xTyhLWUtQZV1xUChLUUtbZV1xUShLXEtQZV1xUihLXktdZV1xUyhLX0tdZV1xVChLX0tgZV1xVShLX0thZV1xVihLYkthZV1xVyhLYktjZV1xWChLY0tkZV1xWShLY0tlZV1xWihLZUtmZV1xWyhLZUtdZV1xXChLYktnZV1xXShLaEtnZV1xXihLaUtnZV1xXyhLa0tqZV1xYChLbEtrZV1xYShLbUtsZV1xYihLbUtuZV1xYyhLb0tuZV1xZChLb0twZV1xZShLb0tqZV1xZihLbUtxZV1xZyhLcktxZV1xaChLc0txZV1xaShLbEt0ZV1xaihLa0t1ZV1xayhLdktqZV1xbChLeEt3ZV1xbShLeEt5ZV1xbihLeEt6ZV1xbyhLe0t6ZV1xcChLe0t8ZV1xcShLfUt8ZV1xcihLfkt8ZV1xcyhLe0t/ZV1xdChLf0uAZV1xdShLf0uBZV1xdihLgUt3ZV1xdyhLgUuCZV1xeChLg0t3ZV1xeShLhUuEZV1xeihLhUuGZV1xeyhLh0uGZV1xfChLh0uIZV1xfShLiEuJZV1xfihLiEuKZV1xfyhLikuLZV1xgChLikuEZV1xgShLh0uMZV1xgihLjUuMZV1xgyhLjkuMZV1xhChLhUuPZV1xhShLkEuEZWVVBWxhYmVscYZLglUAfYdxh1UGcmFkaXVzcYhLgkc/yZmZoAAAAH2HcYlVC2xhYmVsT2Zmc2V0cYpLgk59h3GLVQhkcmF3TW9kZXGMS4JLAX2HcY1VCG9wdGlvbmFscY59cY9VB2Rpc3BsYXlxkEuCSwJ9h3GRdS4='))
	crdInfo = cPickle.loads(base64.b64decode('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'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'oneTransparentLayer': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, 'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, 'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, 'default'), 'Rf': ((0.8, 0, 0.34902), 1, 'default'), 'Ra': ((0, 0.490196, 0), 1, 'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, 'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, 'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, 'default'), 'Be': ((0.760784, 1, 0), 1, 'default'), 'Ba': ((0, 0.788235, 0), 1, 'default'), 'Bh': ((0.878431, 0, 0.219608), 1, 'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, 'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, 'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, 'default'), '_openColor00': ((1, 1, 1), 1, 'default'), '_openColor01': ((1, 0, 1), 1, 'default'), '_openColor02': ((0, 1, 1), 1, 'default'), '_openColor03': ((1, 1, 0), 1, 'default'), '_openColor04': ((1, 0, 0), 1, 'default'), '_openColor05': ((0, 0, 1), 1, 'default'), '_openColor06': ((0.67, 1, 0), 1, 'default'), '_openColor07': ((0.67, 0, 1), 1, 'default'), '_openColor08': ((0.67, 1, 1), 1, 'default'),
'H': ((1, 1, 1), 1, 'default'), 'P': ((1, 0.501961, 0), 1, 'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, 'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, 'default'), 'Gd': ((0.270588, 1, 0.780392), 1, 'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, 'default'), 'Pr': ((0.85098, 1, 0.780392), 1, 'default'), '_openColor12': ((1, 1, 0.5), 1, 'default'), '_openColor11': ((1, 0.67, 1), 1, 'default'), '_openColor10': ((0, 0.67, 1), 1, 'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, 'default'), 'Pu': ((0, 0.419608, 1), 1, 'default'), 'C': ((0.564706, 0.564706, 0.564706), 1, 'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, 'default'), 'Pa': ((0, 0.631373, 1), 1, 'default'), 'Pd': ((0, 0.411765, 0.521569), 1, 'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, 'default'), 'Po': ((0.670588, 0.360784, 0), 1, 'default'), 'Pm': ((0.639216, 1, 0.780392), 1, 'default'), 'Hs': ((0.901961, 0, 0.180392), 1, 'default'), 'Ho': ((0, 1, 0.611765), 1, 'default'), 'Hf': ((0.301961, 0.760784, 1), 1, 'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, 'default'),
'He': ((0.85098, 1, 1), 1, 'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, 'default'), 'Mg': ((0.541176, 1, 0), 1, 'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, 'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, 'default'), 'O': ((1, 0.0509804, 0.0509804), 1, 'default'), 'Mt': ((0.921569, 0, 0.14902), 1, 'default'), 'S': ((1, 1, 0.188235), 1, 'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, 'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, 'default'), 'Eu': ((0.380392, 1, 0.780392), 1, 'default'), 'Zr': ((0.580392, 0.878431, 0.878431), 1, 'default'), 'Er': ((0, 0.901961, 0.458824), 1, 'default'), '_openColor13': ((1, 0, 0.5), 1, 'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, 'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, 'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, 'default'), 'Nd': ((0.780392, 1, 0.780392), 1, 'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, 'default'), 'Np': ((0, 0.501961, 1), 1, 'default'), 'Fr': ((0.258824, 0, 0.4), 1, 'default'), '_openColor15': ((0.67, 0.67, 1), 1, 'default'), '_openColor14': ((0, 1, 0.5), 1, 'default'),
'Fe': ((0.878431, 0.4, 0.2), 1, 'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, 'default'), 'B': ((1, 0.709804, 0.709804), 1, 'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, 'default'), 'Sr': ((0, 1, 0), 1, 'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, 'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, 'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, 'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, 'default'), 'Sm': ((0.560784, 1, 0.780392), 1, 'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, 'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, 'default'), 'Sb': ((0.619608, 0.388235, 0.709804), 1, 'default'), 'Sg': ((0.85098, 0, 0.270588), 1, 'default'), 'Se': ((1, 0.631373, 0), 1, 'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, 'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, 'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, 'default'), 'Ca': ((0.239216, 1, 0), 1, 'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, 'default'), 'Ce': ((1, 1, 0.780392), 1, 'default'), 'Cd': ((1, 0.85098, 0.560784), 1, 'default'),
'Tm': ((0, 0.831373, 0.321569), 1, 'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, 'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, 'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, 'default'), 'La': ((0.439216, 0.831373, 1), 1, 'default'), 'Li': ((0.8, 0.501961, 1), 1, 'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, 'default'), 'Lu': ((0, 0.670588, 0.141176), 1, 'default'), 'Lr': ((0.780392, 0, 0.4), 1, 'default'), 'Th': ((0, 0.729412, 1), 1, 'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, 'default'), 'Te': ((0.831373, 0.478431, 0), 1, 'default'), 'Tb': ((0.188235, 1, 0.780392), 1, 'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, 'default'), 'Ta': ((0.301961, 0.65098, 1), 1, 'default'), 'Yb': ((0, 0.74902, 0.219608), 1, 'default'), 'Db': ((0.819608, 0, 0.309804), 1, 'default'), 'Dy': ((0.121569, 1, 0.780392), 1, 'default'), '_openColor09': ((1, 0.67, 0), 1, 'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, 'default'), 'I': ((0.580392, 0, 0.580392), 1, 'default'), 'U': ((0, 0.560784, 1), 1, 'default'), 'Y': ((0.580392, 1, 1), 1, 'default'),
'Ac': ((0.439216, 0.670588, 0.980392), 1, 'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, 'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, 'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, 'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, 'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, 'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, 'default'), 'Au': ((1, 0.819608, 0.137255), 1, 'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, 'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, 'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, 'default')}
	materials = {'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': ['distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 8, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = {0: ('_openColor00', (1, 1, 1, 1)), 1: ('_openColor01', (1, 0, 1, 1)), 2: ('_openColor02', (0, 1, 1, 1)), 3: ('_openColor03', (1, 1, 0, 1)), 4: ('_openColor04', (1, 0, 0, 1)), 5: ('N', (0.188235, 0.313725, 0.972549, 1)), 6: ('H', (1, 1, 1, 1)), 7: ('O', (1, 0.0509804, 0.0509804, 1)), 8: ('yellow', (1, 1, 0, 1)), 9: ('white', (1, 1, 1, 1)), 10: ('green', (0, 1, 0, 1))}
	viewerInfo = {'cameraAttrs': {'center': (31.603, -5.656, 14.2444), 'fieldOfView': 26.2751, 'nearFar': (24.6232, 3.46195), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 11.166}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'viewSize': 7.35413, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 1, 'depthCue': True, 'highlight': 0, 'scaleFactor': 0.453494}, 'viewerHL': 10, 'cameraMode': 'mono', 'detail': 1, 'viewerFog': None, 'viewerBG': 9}

	replyobj.status("Initializing session restore...", blankAfter=0)
	init(colorInfo)
	replyobj.status("Restoring colors...", blankAfter=0)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0)
	restoreViewer(viewerInfo)
Ejemplo n.º 7
0
def restoreCoreModels():
	from SimpleSession.versions.v45 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwlOfYdxA1UJYmFsbFNjYWxlcQRLCUc/0AAAAAAAAH2HcQVVFHJpYmJvbkhpZGVzTWFpbmNoYWlucQZLCYh9h3EHVQlwb2ludFNpemVxCEsJRz/wAAAAAAAAfYdxCVUEbmFtZXEKSwlVEUdVX3BsYW5hcl8xNTYucGRifXELKFURR1VfcGxhbmFyXzE4MS5wZGJxDF1xDUsHYVURR1VfcGxhbmFyXzE4My5wZGJxDl1xD0sIYVUQR1VfcGxhbmFyXzEzLnBkYnEQXXERSwJhVRFHVV9wbGFuYXJfMTU1LnBkYnESXXETSwVhVRBHVV9kaWFnb25fODkucGRicRRdcRVLAGFVEEdVX3BsYW5hcl8xMS5wZGJxFl1xF0sBYVURR1VfcGxhbmFyXzEzNi5wZGJxGF1xGUsDYVURR1VfcGxhbmFyXzEzNy5wZGJxGl1xG0sEYXWHcRxVD2Fyb21hdGljRGlzcGxheXEdSwmJfYdxHlUFY29sb3JxH0sJSwB9cSAoSwFdcSFLAWFLAl1xIksCYUsDXXEjSwNhSwRdcSRLBGFLBV1xJUsFYUsGXXEmSwZhSwddcSdLB2FLCF1xKEsIYXWHcSlVCG9wdGlvbmFscSp9cStVCG9wZW5lZEFzcSyISwkoVTsvaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvR1UvaF9ib25kZWQvR1VfZGlhZ29uXzg5LnBkYlUDUERCcS1OiXRxLn1xLygoVTwvaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvR1UvaF9ib25kZWQvR1VfcGxhbmFyXzE1Ni5wZGJoLU6JdHEwXXExSwZhKFU8L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0dVL2hfYm9uZGVkL0dVX3BsYW5hcl8xMzcucGRiaC1OiXRxMl1xM0sEYShVOy9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9HVS9oX2JvbmRlZC9HVV9wbGFuYXJfMTEucGRiaC1OiXRxNF1xNUsBYShVPC9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9HVS9oX2JvbmRlZC9HVV9wbGFuYXJfMTgzLnBkYmgtTol0cTZdcTdLCGEoVTwvaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvR1UvaF9ib25kZWQvR1VfcGxhbmFyXzE4MS5wZGJoLU6JdHE4XXE5SwdhKFU8L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0dVL2hfYm9uZGVkL0dVX3BsYW5hcl8xNTUucGRiaC1OiXRxOl1xO0sFYShVOy9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9HVS9oX2JvbmRlZC9HVV9wbGFuYXJfMTMucGRiaC1OiXRxPF1xPUsCYShVPC9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9HVS9oX2JvbmRlZC9HVV9wbGFuYXJfMTM2LnBkYmgtTol0cT5dcT9LA2F1h4ZxQHNVCnBkYkhlYWRlcnNxQV1xQih9cUN9cUR9cUV9cUZ9cUd9cUh9cUl9cUp9cUtlVQxhcm9tYXRpY01vZGVxTEsJSwF9h3FNVQNpZHNxTksJSwBLAIZ9cU8oSwdLAIZxUF1xUUsHYUsDSwCGcVJdcVNLA2FLCEsAhnFUXXFVSwhhSwZLAIZxVl1xV0sGYUsCSwCGcVhdcVlLAmFLBUsAhnFaXXFbSwVhSwFLAIZxXF1xXUsBYUsESwCGcV5dcV9LBGF1h3FgVQ5zdXJmYWNlT3BhY2l0eXFhSwlHv/AAAAAAAAB9h3FiVQlhdXRvY2hhaW5xY0sJiH2HcWRVCnZkd0RlbnNpdHlxZUsJR0AUAAAAAAAAfYdxZlUNYXJvbWF0aWNDb2xvcnFnSwlOfYdxaFUGaGlkZGVucWlLCYl9h3FqVQlsaW5lV2lkdGhxa0sJRz/wAAAAAAAAfYdxbFUKc3RpY2tTY2FsZXFtSwlHP/AAAAAAAAB9h3FuVQdkaXNwbGF5cW9LCYh9h3FwVRBhcm9tYXRpY0xpbmVUeXBlcXFLCUsCfYdxcnUu'))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksSVQEgfYdxA1ULZmlsbERpc3BsYXlxBEsSiX2HcQVVBG5hbWVxBksSVQFVfXEHVQFHXXEIKEsASwJLBEsGSwhLCksMSw5LEGVzh3EJVQVjaGFpbnEKSxJVAUF9cQtVAUJOXXEMKEsBSwGGcQ1LA0sBhnEOSwVLAYZxD0sHSwGGcRBLCUsBhnERSwtLAYZxEksNSwGGcRNLD0sBhnEUSxFLAYZxFWWGcRZzh3EXVQ5yaWJib25EcmF3TW9kZXEYSxJLAn2HcRlVAnNzcRpLEomJiYd9h3EbVQhtb2xlY3VsZXEcSxJLAH1xHShLAU5dcR5LAksChnEfYYZxIEsCTl1xIUsESwKGcSJhhnEjSwNOXXEkSwZLAoZxJWGGcSZLBE5dcSdLCEsChnEoYYZxKUsFTl1xKksKSwKGcSthhnEsSwZOXXEtSwxLAoZxLmGGcS9LB05dcTBLDksChnExYYZxMksITl1xM0sQSwKGcTRhhnE1dYdxNlULcmliYm9uQ29sb3JxN0sSTn2HcThVBWxhYmVscTlLElUAfYdxOlUKbGFiZWxDb2xvcnE7SxJOfYdxPFUIZmlsbE1vZGVxPUsSSwF9h3E+VQVpc0hldHE/SxKJfYdxQFULbGFiZWxPZmZzZXRxQUsSTn2HcUJVCHBvc2l0aW9ucUNdcUQoSwFLAoZxRUsBSwKGcUZLAUsChnFHSwFLAoZxSEsBSwKGcUlLAUsChnFKSwFLAoZxS0sBSwKGcUxLAUsChnFNZVUNcmliYm9uRGlzcGxheXFOSxKJfYdxT1UIb3B0aW9uYWxxUH1xUVUEc3NJZHFSSxJK/////32HcVN1Lg=='))
	atomInfo = cPickle.loads(base64.b64decode('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'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVhdG9tc3ECXXEDKF1xBChLHEsbZV1xBShLHUsbZV1xBihLHUseZV1xByhLH0seZV1xCChLH0sgZV1xCShLIEshZV1xCihLIEsiZV1xCyhLI0siZV1xDChLJEsiZV1xDShLJEslZV1xDihLJkslZV1xDyhLJ0slZV1xEChLJEsoZV1xEShLKUsoZV1xEihLKUsbZV1xEyhLKUsfZV1xFChLHUsqZV1xFShLLEsrZV1xFihLLEstZV1xFyhLLkssZV1xGChLLksvZV1xGShLMEsuZV1xGihLMEsxZV1xGyhLMksxZV1xHChLM0sxZV1xHShLM0s0ZV1xHihLM0srZV1xHyhLMEs1ZV1xIChLNksrZV1xIShLOEs3ZV1xIihLOUs3ZV1xIyhLOUs6ZV1xJChLO0s6ZV1xJShLO0s8ZV1xJihLPEs9ZV1xJyhLPks9ZV1xKChLPks/ZV1xKShLQEs/ZV1xKihLQEs3ZV1xKyhLQEs7ZV1xLChLPktBZV1xLShLQktBZV1xLihLQ0tBZV1xLyhLREs9ZV1xMChLPEtFZV1xMShLOUtGZV1xMihLSEtHZV1xMyhLSUtHZV1xNChLSUtKZV1xNShLS0tKZV1xNihLS0tMZV1xNyhLS0tNZV1xOChLTUtOZV1xOShLTktPZV1xOihLTktHZV1xOyhLTUtQZV1xPChLUUtKZV1xPShLSUtSZV1xPihLVEtTZV1xPyhLVEtVZV1xQChLVUtWZV1xQShLV0tWZV1xQihLV0tYZV1xQyhLV0tTZV1xRChLVUtZZV1xRShLWUtaZV1xRihLWUtbZV1xRyhLXEtbZV1xSChLXEtdZV1xSShLXktdZV1xSihLX0tdZV1xSyhLXEtgZV1xTChLVEtgZV1xTShLYUtbZV1xTihLYktTZV1xTyhLZEtjZV1xUChLZUtkZV1xUShLZktlZV1xUihLZktnZV1xUyhLaEtnZV1xVChLaUtnZV1xVShLaUtjZV1xVihLaUtqZV1xVyhLZktrZV1xWChLZUtsZV1xWShLZEttZV1xWihLbktjZV1xWyhLcEtvZV1xXChLcEtxZV1xXShLcUtyZV1xXihLc0tyZV1xXyhLc0tvZV1xYChLc0t0ZV1xYShLcUt1ZV1xYihLdUt2ZV1xYyhLd0t2ZV1xZChLd0t4ZV1xZShLcEt4ZV1xZihLd0t5ZV1xZyhLekt5ZV1xaChLe0t5ZV1xaShLfEt2ZV1xaihLdUt9ZV1xayhLfktvZV1xbChLgEt/ZV1xbShLgUt/ZV1xbihLgUuCZV1xbyhLg0uCZV1xcChLhEuCZV1xcShLhEuFZV1xcihLhUuGZV1xcyhLhUuHZV1xdChLh0uIZV1xdShLh0t/ZV1xdihLhEuJZV1xdyhLgUuKZV1xeChLjEuLZV1xeShLjEuNZV1xeihLjUuOZV1xeyhLjkuPZV1xfChLkEuPZV1xfShLkUuPZV1xfihLkUuSZV1xfyhLk0uSZV1xgChLlEuSZV1xgShLkUuVZV1xgihLjEuVZV1xgyhLjkuWZV1xhChLjUuXZV1xhShLmEuXZV1xhihLmEuLZV1xhyhLmEuZZV1xiChLmkuLZV1xiShLnEubZV1xiihLnEudZV1xiyhLnkucZV1xjChLnkufZV1xjShLoEueZV1xjihLoEuhZV1xjyhLoEuiZV1xkChLo0uiZV1xkShLo0ubZV1xkihLo0ukZV1xkyhLpUuiZV1xlChLpkubZV1xlShLqEunZV1xlihLqEupZV1xlyhLqkupZV1xmChLqkurZV1xmShLq0usZV1xmihLrUusZV1xmyhLrkusZV1xnChLrkuvZV1xnShLsEuvZV1xnihLsEuqZV1xnyhLsEunZV1xoChLrkuxZV1xoShLskuxZV1xoihLs0uxZV1xoyhLq0u0ZV1xpChLqEu1ZV1xpShLtkunZV1xpihLuEu3ZV1xpyhLuUu3ZV1xqChLuUu6ZV1xqShLuUu7ZV1xqihLvEu7ZV1xqyhLvUu7ZV1xrChLvUu+ZV1xrShLvku/ZV1xrihLvkvAZV1xryhLwEvBZV1xsChLwEu3ZV1xsShLvUvCZV1xsihLxEvDZV1xsyhLxUvDZV1xtChLxUvGZV1xtShLxUvHZV1xtihLyEvHZV1xtyhLyEvJZV1xuChLyUvKZV1xuShLyUvLZV1xuihLzEvLZV1xuyhLzEvNZV1xvChLzkvNZV1xvShLz0vNZV1xvihLzEvQZV1xvyhL0UvQZV1xwChL0UvDZV1xwShL0UvIZV1xwihL0kvLZV1xwyhL1EvTZV1xxChL1EvVZV1xxShL1kvUZV1xxihL1kvXZV1xxyhL2EvWZV1xyChL2EvZZV1xyShL2kvZZV1xyihL20vZZV1xyyhL20vTZV1xzChL20vcZV1xzShL2EvdZV1xzihL3kvTZV1xzyhL4EvfZV1x0ChL4EvhZV1x0ShL4EviZV1x0ihL40viZV1x0yhL40vkZV1x1ChL5EvlZV1x1ShL5kvlZV1x1ihL5kvnZV1x1yhL6EvnZV1x2ChL6EvjZV1x2ShL6EvfZV1x2ihL5kvpZV1x2yhL6kvpZV1x3ChL60vpZV1x3ShL7EvlZV1x3ihL5EvtZV1x3yhL7kvfZV1x4ChL8EvvZV1x4ShL8UvvZV1x4ihL8UvyZV1x4yhL80vyZV1x5ChL9EvyZV1x5ShL9Ev1ZV1x5ihL9Ev2ZV1x5yhL9kv3ZV1x6ChL9kv4ZV1x6ShL+EvvZV1x6ihL+Ev5ZV1x6yhL8Uv6ZV1x7ChL/Ev7ZV1x7ShL/Uv7ZV1x7ihL/Uv+ZV1x7yhL/Uv/ZV1x8ChNAAFL/2VdcfEoTQABTQEBZV1x8ihNAQFNAgFlXXHzKE0DAU0CAWVdcfQoTQMBTQQBZV1x9ShNBQFNBAFlXXH2KE0GAU0EAWVdcfcoTQMBTQcBZV1x+ChNCAFNBwFlXXH5KE0IAUv7ZV1x+ihNCAFNAAFlXXH7KE0JAU0CAWVdcfwoTQEBTQoBZV1x/ShNDAFNCwFlXXH+KE0NAU0LAWVdcf8oTQ4BTQ0BZV1yAAEAAChNDwFNDgFlXXIBAQAAKE0PAU0QAWVdcgIBAAAoTQ8BTREBZV1yAwEAAChNEgFNEQFlXXIEAQAAKE0SAU0LAWVdcgUBAAAoTRIBTRMBZV1yBgEAAChNFAFNEQFlXXIHAQAAKE0OAU0VAWVdcggBAAAoTQ0BTRYBZWVVBWxhYmVscgkBAABNBQFVAH2HcgoBAABVBnJhZGl1c3ILAQAATQUBRz/JmZmgAAAAfYdyDAEAAFULbGFiZWxPZmZzZXRyDQEAAE0FAU59h3IOAQAAVQhkcmF3TW9kZXIPAQAATQUBSwF9h3IQAQAAVQhvcHRpb25hbHIRAQAAfXISAQAAVQdkaXNwbGF5chMBAABNBQFLAn2HchQBAAB1Lg=='))
	crdInfo = cPickle.loads(base64.b64decode('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'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'oneTransparentLayer': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, 'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, 'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, 'default'), 'Rf': ((0.8, 0, 0.34902), 1, 'default'), 'Ra': ((0, 0.490196, 0), 1, 'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, 'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, 'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, 'default'), 'Be': ((0.760784, 1, 0), 1, 'default'), 'Ba': ((0, 0.788235, 0), 1, 'default'), 'Bh': ((0.878431, 0, 0.219608), 1, 'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, 'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, 'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, 'default'), '_openColor00': ((1, 1, 1), 1, 'default'), '_openColor01': ((1, 0, 1), 1, 'default'), '_openColor02': ((0, 1, 1), 1, 'default'), '_openColor03': ((1, 1, 0), 1, 'default'), '_openColor04': ((1, 0, 0), 1, 'default'), '_openColor05': ((0, 0, 1), 1, 'default'), '_openColor06': ((0.67, 1, 0), 1, 'default'), '_openColor07': ((0.67, 0, 1), 1, 'default'), '_openColor08': ((0.67, 1, 1), 1, 'default'),
'H': ((1, 1, 1), 1, 'default'), 'P': ((1, 0.501961, 0), 1, 'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, 'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, 'default'), 'Gd': ((0.270588, 1, 0.780392), 1, 'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, 'default'), 'Pr': ((0.85098, 1, 0.780392), 1, 'default'), '_openColor12': ((1, 1, 0.5), 1, 'default'), '_openColor11': ((1, 0.67, 1), 1, 'default'), '_openColor10': ((0, 0.67, 1), 1, 'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, 'default'), 'Pu': ((0, 0.419608, 1), 1, 'default'), 'C': ((0.564706, 0.564706, 0.564706), 1, 'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, 'default'), 'Pa': ((0, 0.631373, 1), 1, 'default'), 'Pd': ((0, 0.411765, 0.521569), 1, 'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, 'default'), 'Po': ((0.670588, 0.360784, 0), 1, 'default'), 'Pm': ((0.639216, 1, 0.780392), 1, 'default'), 'Hs': ((0.901961, 0, 0.180392), 1, 'default'), 'Ho': ((0, 1, 0.611765), 1, 'default'), 'Hf': ((0.301961, 0.760784, 1), 1, 'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, 'default'),
'He': ((0.85098, 1, 1), 1, 'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, 'default'), 'Mg': ((0.541176, 1, 0), 1, 'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, 'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, 'default'), 'O': ((1, 0.0509804, 0.0509804), 1, 'default'), 'Mt': ((0.921569, 0, 0.14902), 1, 'default'), 'S': ((1, 1, 0.188235), 1, 'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, 'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, 'default'), 'Eu': ((0.380392, 1, 0.780392), 1, 'default'), 'Zr': ((0.580392, 0.878431, 0.878431), 1, 'default'), 'Er': ((0, 0.901961, 0.458824), 1, 'default'), '_openColor13': ((1, 0, 0.5), 1, 'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, 'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, 'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, 'default'), 'Nd': ((0.780392, 1, 0.780392), 1, 'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, 'default'), 'Np': ((0, 0.501961, 1), 1, 'default'), 'Fr': ((0.258824, 0, 0.4), 1, 'default'), '_openColor15': ((0.67, 0.67, 1), 1, 'default'), '_openColor14': ((0, 1, 0.5), 1, 'default'),
'Fe': ((0.878431, 0.4, 0.2), 1, 'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, 'default'), 'B': ((1, 0.709804, 0.709804), 1, 'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, 'default'), 'Sr': ((0, 1, 0), 1, 'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, 'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, 'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, 'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, 'default'), 'Sm': ((0.560784, 1, 0.780392), 1, 'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, 'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, 'default'), 'Sb': ((0.619608, 0.388235, 0.709804), 1, 'default'), 'Sg': ((0.85098, 0, 0.270588), 1, 'default'), 'Se': ((1, 0.631373, 0), 1, 'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, 'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, 'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, 'default'), 'Ca': ((0.239216, 1, 0), 1, 'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, 'default'), 'Ce': ((1, 1, 0.780392), 1, 'default'), 'Cd': ((1, 0.85098, 0.560784), 1, 'default'),
'Tm': ((0, 0.831373, 0.321569), 1, 'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, 'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, 'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, 'default'), 'La': ((0.439216, 0.831373, 1), 1, 'default'), 'Li': ((0.8, 0.501961, 1), 1, 'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, 'default'), 'Lu': ((0, 0.670588, 0.141176), 1, 'default'), 'Lr': ((0.780392, 0, 0.4), 1, 'default'), 'Th': ((0, 0.729412, 1), 1, 'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, 'default'), 'Te': ((0.831373, 0.478431, 0), 1, 'default'), 'Tb': ((0.188235, 1, 0.780392), 1, 'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, 'default'), 'Ta': ((0.301961, 0.65098, 1), 1, 'default'), 'Yb': ((0, 0.74902, 0.219608), 1, 'default'), 'Db': ((0.819608, 0, 0.309804), 1, 'default'), 'Dy': ((0.121569, 1, 0.780392), 1, 'default'), '_openColor09': ((1, 0.67, 0), 1, 'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, 'default'), 'I': ((0.580392, 0, 0.580392), 1, 'default'), 'U': ((0, 0.560784, 1), 1, 'default'), 'Y': ((0.580392, 1, 1), 1, 'default'),
'Ac': ((0.439216, 0.670588, 0.980392), 1, 'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, 'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, 'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, 'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, 'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, 'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, 'default'), 'Au': ((1, 0.819608, 0.137255), 1, 'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, 'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, 'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, 'default')}
	materials = {'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': ['distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 12, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = {0: ('_openColor00', (1, 1, 1, 1)), 1: ('_openColor01', (1, 0, 1, 1)), 2: ('_openColor02', (0, 1, 1, 1)), 3: ('_openColor03', (1, 1, 0, 1)), 4: ('_openColor04', (1, 0, 0, 1)), 5: ('_openColor05', (0, 0, 1, 1)), 6: ('_openColor06', (0.67, 1, 0, 1)), 7: ('_openColor07', (0.67, 0, 1, 1)), 8: ('_openColor08', (0.67, 1, 1, 1)), 9: ('N', (0.188235, 0.313725, 0.972549, 1)), 10: ('H', (1, 1, 1, 1)), 11: ('O', (1, 0.0509804, 0.0509804, 1)), 12: ('yellow', (1, 1, 0, 1)), 13: ('white', (1, 1, 1, 1)), 14: ('green', (0, 1, 0, 1))}
	viewerInfo = {'cameraAttrs': {'center': (11.1575, 29.1535, 7.11289), 'fieldOfView': 26.2751, 'nearFar': (15.6726, -1.44678), 'ortho': False, 'eyeSeparation': 50.8, 'focal': -10.602}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'viewSize': 8.01894, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 1, 'depthCue': True, 'highlight': 0, 'scaleFactor': 0.552622}, 'viewerHL': 14, 'cameraMode': 'mono', 'detail': 1, 'viewerFog': None, 'viewerBG': 13}

	replyobj.status("Initializing session restore...", blankAfter=0)
	init(colorInfo)
	replyobj.status("Restoring colors...", blankAfter=0)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0)
	restoreViewer(viewerInfo)
Ejemplo n.º 8
0
def restoreCoreModels():
	from SimpleSession.versions.v45 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwROfYdxA1UJYmFsbFNjYWxlcQRLBEc/0AAAAAAAAH2HcQVVFHJpYmJvbkhpZGVzTWFpbmNoYWlucQZLBIh9h3EHVQlwb2ludFNpemVxCEsERz/wAAAAAAAAfYdxCVUEbmFtZXEKSwRVEFVVX2RpYWdvbl85MC5wZGJ9cQsoVRBVVV9kaWFnb25fOTIucGRicQxdcQ1LAmFVEFVVX2RpYWdvbl85MS5wZGJxDl1xD0sBYVUQVVVfZGlhZ29uXzkzLnBkYnEQXXERSwNhdYdxElUPYXJvbWF0aWNEaXNwbGF5cRNLBIl9h3EUVQVjb2xvcnEVSwRLAH1xFihLAV1xF0sBYUsCXXEYSwJhSwNdcRlLA2F1h3EaVQhvcHRpb25hbHEbfXEcVQhvcGVuZWRBc3EdiEsEKFU6L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL1VVL3NwYXRpYWwvVVVfZGlhZ29uXzkwLnBkYlUDUERCcR5OiXRxH31xICgoVTovaG9tZS9hbGV4L0Rlc2t0b3AvZGlCYXNlX2xpYkYvVVUvc3BhdGlhbC9VVV9kaWFnb25fOTEucGRiaB5OiXRxIV1xIksBYShVOi9ob21lL2FsZXgvRGVza3RvcC9kaUJhc2VfbGliRi9VVS9zcGF0aWFsL1VVX2RpYWdvbl85Mi5wZGJoHk6JdHEjXXEkSwJhKFU6L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL1VVL3NwYXRpYWwvVVVfZGlhZ29uXzkzLnBkYmgeTol0cSVdcSZLA2F1h4ZxJ3NVCnBkYkhlYWRlcnNxKF1xKSh9cSp9cSt9cSx9cS1lVQxhcm9tYXRpY01vZGVxLksESwF9h3EvVQNpZHNxMEsESwNLAIZ9cTEoSwJLAIZxMl1xM0sCYUsBSwCGcTRdcTVLAWFLAEsAhnE2XXE3SwBhdYdxOFUOc3VyZmFjZU9wYWNpdHlxOUsER7/wAAAAAAAAfYdxOlUJYXV0b2NoYWlucTtLBIh9h3E8VQp2ZHdEZW5zaXR5cT1LBEdAFAAAAAAAAH2HcT5VDWFyb21hdGljQ29sb3JxP0sETn2HcUBVBmhpZGRlbnFBSwSJfYdxQlUJbGluZVdpZHRocUNLBEc/8AAAAAAAAH2HcURVCnN0aWNrU2NhbGVxRUsERz/wAAAAAAAAfYdxRlUHZGlzcGxheXFHSwSIfYdxSFUQYXJvbWF0aWNMaW5lVHlwZXFJSwRLAn2HcUp1Lg=='))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksIVQEgfYdxA1ULZmlsbERpc3BsYXlxBEsIiX2HcQVVBG5hbWVxBksIVQFVfYdxB1UFY2hhaW5xCEsIVQFBfXEJVQFCTl1xCihLAUsBhnELSwNLAYZxDEsFSwGGcQ1LB0sBhnEOZYZxD3OHcRBVDnJpYmJvbkRyYXdNb2RlcRFLCEsCfYdxElUCc3NxE0sIiYmJh32HcRRVCG1vbGVjdWxlcRVLCEsAfXEWKEsBTl1xF0sCSwKGcRhhhnEZSwJOXXEaSwRLAoZxG2GGcRxLA05dcR1LBksChnEeYYZxH3WHcSBVC3JpYmJvbkNvbG9ycSFLCE59h3EiVQVsYWJlbHEjSwhVAH2HcSRVCmxhYmVsQ29sb3JxJUsITn2HcSZVCGZpbGxNb2RlcSdLCEsBfYdxKFUFaXNIZXRxKUsIiX2HcSpVC2xhYmVsT2Zmc2V0cStLCE59h3EsVQhwb3NpdGlvbnEtXXEuKEsBSwKGcS9LAUsChnEwSwFLAoZxMUsBSwKGcTJlVQ1yaWJib25EaXNwbGF5cTNLCIl9h3E0VQhvcHRpb25hbHE1fXE2VQRzc0lkcTdLCEr/////fYdxOHUu'))
	atomInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQdyZXNpZHVlcQJLYEsEfXEDKEsFTl1xBEsMSwyGcQVhhnEGSwZOXXEHSxhLDIZxCGGGcQlLB05dcQpLJEsMhnELYYZxDEsITl1xDUswSwyGcQ5hhnEPSwlOXXEQSzxLDIZxEWGGcRJLCk5dcRNLSEsMhnEUYYZxFUsLTl1xFktUSwyGcRdhhnEYdYdxGVUIdmR3Q29sb3JxGktgTn2HcRtVBG5hbWVxHEtgVQJPNH1xHShVAkgzcR5dcR8oSwtLE0seSypLOEtFS1JLXWVVAkgxcSBdcSEoSwFLF0sjSy9LMUs9S0lLX2VVAkg2cSJdcSMoSwpLFksaSy5LO0s/S1BLW2VVAkg1cSRdcSUoSwhLFUsiSydLNEtBS05LWWVVAkM2cSZdcScoSwlLDUsZSyVLMks+S09LWmVVAkMycShdcSkoSwJLEUsfSytLOUtGS0pLVWVVAk4xcSpdcSsoSwBLDEsYSyRLMEs8S0hLVGVVAk4zcSxdcS0oSwRLEEsdSylLN0tES0tLVmVVAk8ycS5dcS8oSwNLEksgSyxLOktHS1NLXmVVAkM1cTBdcTEoSwdLDksbSyZLM0tAS01LWGVVAkM0cTJdcTMoSwVLD0scSyhLNUtCS0xLV2V1h3E0VQN2ZHdxNUtgiX2HcTZVDnN1cmZhY2VEaXNwbGF5cTdLYIl9h3E4VQVjb2xvcnE5S2BOfXE6KEsEXXE7KEsASwRLDEsQSxhLHUskSylLMEs3SzxLREtIS0tLVEtWZUsFXXE8KEsBSwhLCksLSxNLFUsWSxdLGkseSyJLI0snSypLLksvSzFLNEs4SztLPUs/S0FLRUtJS05LUEtSS1lLW0tdS19lSwZdcT0oSwNLBksSSxRLIEshSyxLLUs2SzpLQ0tHS1FLU0tcS15ldYdxPlUJaWRhdG1UeXBlcT9LYIl9h3FAVQZhbHRMb2NxQUtgVQB9h3FCVQVsYWJlbHFDS2BVAH2HcURVDnN1cmZhY2VPcGFjaXR5cUVLYEe/8AAAAAAAAH2HcUZVB2VsZW1lbnRxR0tgSwF9cUgoSwhdcUkoSwNLBksSSxRLIEshSyxLLUs2SzpLQ0tHS1FLU0tcS15lSwZdcUooSwJLBUsHSwlLDUsOSw9LEUsZSxtLHEsfSyVLJksoSytLMkszSzVLOUs+S0BLQktGS0pLTEtNS09LVUtXS1hLWmVLB11xSyhLAEsESwxLEEsYSx1LJEspSzBLN0s8S0RLSEtLS1RLVmV1h3FMVQpsYWJlbENvbG9ycU1LYE59h3FOVQxzdXJmYWNlQ29sb3JxT0tgTn2HcVBVBnJhZGl1c3FRS2BHP/AAAAAAAAB9cVIoRz/6AAAAAAAAXXFTKEsASwRLDEsQSxhLHUskSylLMEs3SzxLREtIS0tLVEtWZUc/964UgAAAAF1xVChLA0sGSxJLFEsgSyFLLEstSzZLOktDS0dLUUtTS1xLXmVHP/szM0AAAABdcVUoSwJLBUsHSwlLDUsOSw9LEUsZSxtLHEsfSyVLJksoSytLMkszSzVLOUs+S0BLQktGS0pLTEtNS09LVUtXS1hLWmV1h3FWVQtsYWJlbE9mZnNldHFXS2BOfYdxWFUPc3VyZmFjZUNhdGVnb3J5cVlLYFUEbWFpbn2HcVpVCGRyYXdNb2RlcVtLYEsCfYdxXFUIb3B0aW9uYWxxXX1xXihVB2JmYWN0b3JxX4hLYEcAAAAAAAAAAH2HhnFgVQlvY2N1cGFuY3lxYYhLYEcAAAAAAAAAAH2HhnFidVUHZGlzcGxheXFjS2CIfXFkiU5dcWUoSwhLAYZxZksKSwGGcWdLFUsChnFoSxpLAYZxaUsiSwGGcWpLJ0sBhnFrSy5LAYZxbEs0SwGGcW1LO0sBhnFuSz9LAYZxb0tBSwGGcXBLTksBhnFxS1BLAYZxcktZSwGGcXNLW0sBhnF0ZYZxdXOHcXZ1Lg=='))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVhdG9tc3ECXXEDKF1xBChLDUsMZV1xBShLDksMZV1xBihLDksPZV1xByhLDksQZV1xCChLEUsQZV1xCShLEUsSZV1xCihLEUsTZV1xCyhLE0sUZV1xDChLE0sVZV1xDShLFUsMZV1xDihLFUsWZV1xDyhLF0sQZV1xEChLGUsYZV1xEShLGksZZV1xEihLG0saZV1xEyhLG0scZV1xFChLHUscZV1xFShLHUseZV1xFihLHUsYZV1xFyhLH0scZV1xGChLG0sgZV1xGShLGkshZV1xGihLGUsiZV1xGyhLI0sYZV1xHChLJUskZV1xHShLJUsmZV1xHihLJ0slZV1xHyhLKEsnZV1xIChLKEspZV1xIShLKkspZV1xIihLK0spZV1xIyhLK0skZV1xJChLK0ssZV1xJShLKEstZV1xJihLJ0suZV1xJyhLL0skZV1xKChLMUswZV1xKShLMksxZV1xKihLMkszZV1xKyhLNEsyZV1xLChLNEs1ZV1xLShLNks1ZV1xLihLN0s1ZV1xLyhLN0swZV1xMChLN0s4ZV1xMShLNEs5ZV1xMihLMUs6ZV1xMyhLO0swZV1xNChLPUs8ZV1xNShLPks8ZV1xNihLP0s+ZV1xNyhLP0tAZV1xOChLQUs/ZV1xOShLQUtCZV1xOihLQUtDZV1xOyhLREtDZV1xPChLRUtDZV1xPShLRUs8ZV1xPihLRUtGZV1xPyhLPktHZV1xQChLSUtIZV1xQShLSktIZV1xQihLSktLZV1xQyhLTEtKZV1xRChLTEtNZV1xRShLTktMZV1xRihLTktPZV1xRyhLTktQZV1xSChLUUtQZV1xSShLUktQZV1xSihLUktIZV1xSyhLUktTZV1xTChLVUtUZV1xTShLVktUZV1xTihLVktXZV1xTyhLWEtXZV1xUChLWEtZZV1xUShLWUtaZV1xUihLWUtbZV1xUyhLW0tcZV1xVChLW0tUZV1xVShLWEtdZV1xVihLXktXZV1xVyhLVktfZV1xWChLYUtgZV1xWShLYUtiZV1xWihLY0tiZV1xWyhLY0tkZV1xXChLZEtlZV1xXShLZEtmZV1xXihLZktgZV1xXyhLZktnZV1xYChLY0toZV1xYShLaUtiZV1xYihLYUtqZV1xYyhLa0tgZWVVBWxhYmVscWRLYFUAfYdxZVUGcmFkaXVzcWZLYEc/yZmZoAAAAH2HcWdVC2xhYmVsT2Zmc2V0cWhLYE59h3FpVQhkcmF3TW9kZXFqS2BLAX2HcWtVCG9wdGlvbmFscWx9cW1VB2Rpc3BsYXlxbktgSwJ9h3FvdS4='))
	crdInfo = cPickle.loads(base64.b64decode('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'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'oneTransparentLayer': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, 'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, 'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, 'default'), 'Rf': ((0.8, 0, 0.34902), 1, 'default'), 'Ra': ((0, 0.490196, 0), 1, 'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, 'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, 'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, 'default'), 'Be': ((0.760784, 1, 0), 1, 'default'), 'Ba': ((0, 0.788235, 0), 1, 'default'), 'Bh': ((0.878431, 0, 0.219608), 1, 'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, 'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, 'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, 'default'), '_openColor00': ((1, 1, 1), 1, 'default'), '_openColor01': ((1, 0, 1), 1, 'default'), '_openColor02': ((0, 1, 1), 1, 'default'), '_openColor03': ((1, 1, 0), 1, 'default'), '_openColor04': ((1, 0, 0), 1, 'default'), '_openColor05': ((0, 0, 1), 1, 'default'), '_openColor06': ((0.67, 1, 0), 1, 'default'), '_openColor07': ((0.67, 0, 1), 1, 'default'), '_openColor08': ((0.67, 1, 1), 1, 'default'),
'H': ((1, 1, 1), 1, 'default'), 'P': ((1, 0.501961, 0), 1, 'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, 'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, 'default'), 'Gd': ((0.270588, 1, 0.780392), 1, 'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, 'default'), 'Pr': ((0.85098, 1, 0.780392), 1, 'default'), '_openColor12': ((1, 1, 0.5), 1, 'default'), '_openColor11': ((1, 0.67, 1), 1, 'default'), '_openColor10': ((0, 0.67, 1), 1, 'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, 'default'), 'Pu': ((0, 0.419608, 1), 1, 'default'), 'C': ((0.564706, 0.564706, 0.564706), 1, 'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, 'default'), 'Pa': ((0, 0.631373, 1), 1, 'default'), 'Pd': ((0, 0.411765, 0.521569), 1, 'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, 'default'), 'Po': ((0.670588, 0.360784, 0), 1, 'default'), 'Pm': ((0.639216, 1, 0.780392), 1, 'default'), 'Hs': ((0.901961, 0, 0.180392), 1, 'default'), 'Ho': ((0, 1, 0.611765), 1, 'default'), 'Hf': ((0.301961, 0.760784, 1), 1, 'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, 'default'),
'He': ((0.85098, 1, 1), 1, 'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, 'default'), 'Mg': ((0.541176, 1, 0), 1, 'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, 'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, 'default'), 'O': ((1, 0.0509804, 0.0509804), 1, 'default'), 'Mt': ((0.921569, 0, 0.14902), 1, 'default'), 'S': ((1, 1, 0.188235), 1, 'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, 'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, 'default'), 'Eu': ((0.380392, 1, 0.780392), 1, 'default'), 'Zr': ((0.580392, 0.878431, 0.878431), 1, 'default'), 'Er': ((0, 0.901961, 0.458824), 1, 'default'), '_openColor13': ((1, 0, 0.5), 1, 'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, 'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, 'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, 'default'), 'Nd': ((0.780392, 1, 0.780392), 1, 'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, 'default'), 'Np': ((0, 0.501961, 1), 1, 'default'), 'Fr': ((0.258824, 0, 0.4), 1, 'default'), '_openColor15': ((0.67, 0.67, 1), 1, 'default'), '_openColor14': ((0, 1, 0.5), 1, 'default'),
'Fe': ((0.878431, 0.4, 0.2), 1, 'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, 'default'), 'B': ((1, 0.709804, 0.709804), 1, 'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, 'default'), 'Sr': ((0, 1, 0), 1, 'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, 'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, 'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, 'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, 'default'), 'Sm': ((0.560784, 1, 0.780392), 1, 'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, 'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, 'default'), 'Sb': ((0.619608, 0.388235, 0.709804), 1, 'default'), 'Sg': ((0.85098, 0, 0.270588), 1, 'default'), 'Se': ((1, 0.631373, 0), 1, 'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, 'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, 'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, 'default'), 'Ca': ((0.239216, 1, 0), 1, 'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, 'default'), 'Ce': ((1, 1, 0.780392), 1, 'default'), 'Cd': ((1, 0.85098, 0.560784), 1, 'default'),
'Tm': ((0, 0.831373, 0.321569), 1, 'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, 'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, 'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, 'default'), 'La': ((0.439216, 0.831373, 1), 1, 'default'), 'Li': ((0.8, 0.501961, 1), 1, 'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, 'default'), 'Lu': ((0, 0.670588, 0.141176), 1, 'default'), 'Lr': ((0.780392, 0, 0.4), 1, 'default'), 'Th': ((0, 0.729412, 1), 1, 'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, 'default'), 'Te': ((0.831373, 0.478431, 0), 1, 'default'), 'Tb': ((0.188235, 1, 0.780392), 1, 'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, 'default'), 'Ta': ((0.301961, 0.65098, 1), 1, 'default'), 'Yb': ((0, 0.74902, 0.219608), 1, 'default'), 'Db': ((0.819608, 0, 0.309804), 1, 'default'), 'Dy': ((0.121569, 1, 0.780392), 1, 'default'), '_openColor09': ((1, 0.67, 0), 1, 'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, 'default'), 'I': ((0.580392, 0, 0.580392), 1, 'default'), 'U': ((0, 0.560784, 1), 1, 'default'), 'Y': ((0.580392, 1, 1), 1, 'default'),
'Ac': ((0.439216, 0.670588, 0.980392), 1, 'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, 'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, 'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, 'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, 'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, 'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, 'default'), 'Au': ((1, 0.819608, 0.137255), 1, 'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, 'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, 'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, 'default')}
	materials = {'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': ['distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 7, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = {0: ('_openColor00', (1, 1, 1, 1)), 1: ('_openColor01', (1, 0, 1, 1)), 2: ('_openColor02', (0, 1, 1, 1)), 3: ('_openColor03', (1, 1, 0, 1)), 4: ('N', (0.188235, 0.313725, 0.972549, 1)), 5: ('H', (1, 1, 1, 1)), 6: ('O', (1, 0.0509804, 0.0509804, 1)), 7: ('yellow', (1, 1, 0, 1)), 8: ('white', (1, 1, 1, 1)), 9: ('green', (0, 1, 0, 1))}
	viewerInfo = {'cameraAttrs': {'center': (21.0985, 28.453, 11.1709), 'fieldOfView': 26.2751, 'nearFar': (19.2646, 3.07721), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 12.581}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'viewSize': 9.84938, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 1, 'depthCue': True, 'highlight': 0, 'scaleFactor': 0.552622}, 'viewerHL': 9, 'cameraMode': 'mono', 'detail': 1, 'viewerFog': None, 'viewerBG': 8}

	replyobj.status("Initializing session restore...", blankAfter=0)
	init(colorInfo)
	replyobj.status("Restoring colors...", blankAfter=0)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0)
	restoreViewer(viewerInfo)
Ejemplo n.º 9
0
def restoreCoreModels():
    from SimpleSession.versions.v45 import (
        init,
        restoreViewer,
        restoreMolecules,
        restoreColors,
        restoreSurfaces,
        restoreVRML,
        restorePseudoBondGroups,
        restoreModelAssociations,
    )

    molInfo = cPickle.loads(
        base64.b64decode(
            "gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwNOfYdxA1UJYmFsbFNjYWxlcQRLA0c/0AAAAAAAAH2HcQVVFHJpYmJvbkhpZGVzTWFpbmNoYWlucQZLA4h9h3EHVQlwb2ludFNpemVxCEsDRz/wAAAAAAAAfYdxCVUEbmFtZXEKSwNVEEFDX2RpYWdvbl85Ny5wZGJ9cQsoVRFBQ19kaWFnb25fMTM3LnBkYnEMXXENSwBhVRBBQ19kaWFnb25fNTAucGRicQ5dcQ9LAWF1h3EQVQ9hcm9tYXRpY0Rpc3BsYXlxEUsDiX2HcRJVBWNvbG9ycRNLA0sAfXEUKEsBXXEVSwFhSwJdcRZLAmF1h3EXVQhvcHRpb25hbHEYfXEZVQhvcGVuZWRBc3EaiEsDKFU7L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0FDL2hfYm9uZGVkL0FDX2RpYWdvbl85Ny5wZGJVA1BEQnEbTol0cRx9cR0oKFU7L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0FDL2hfYm9uZGVkL0FDX2RpYWdvbl81MC5wZGJoG06JdHEeXXEfSwFhKFU8L2hvbWUvYWxleC9EZXNrdG9wL2RpQmFzZV9saWJGL0FDL2hfYm9uZGVkL0FDX2RpYWdvbl8xMzcucGRiaBtOiXRxIF1xIUsAYXWHhnEic1UKcGRiSGVhZGVyc3EjXXEkKH1xJX1xJn1xJ2VVDGFyb21hdGljTW9kZXEoSwNLAX2HcSlVA2lkc3EqSwNLAksAhn1xKyhLAUsAhnEsXXEtSwFhSwBLAIZxLl1xL0sAYXWHcTBVDnN1cmZhY2VPcGFjaXR5cTFLA0e/8AAAAAAAAH2HcTJVCWF1dG9jaGFpbnEzSwOIfYdxNFUKdmR3RGVuc2l0eXE1SwNHQBQAAAAAAAB9h3E2VQ1hcm9tYXRpY0NvbG9ycTdLA059h3E4VQZoaWRkZW5xOUsDiX2HcTpVCWxpbmVXaWR0aHE7SwNHP/AAAAAAAAB9h3E8VQpzdGlja1NjYWxlcT1LA0c/8AAAAAAAAH2HcT5VB2Rpc3BsYXlxP0sDiH2HcUBVEGFyb21hdGljTGluZVR5cGVxQUsDSwJ9h3FCdS4="
        )
    )
    resInfo = cPickle.loads(
        base64.b64decode(
            "gAJ9cQEoVQZpbnNlcnRxAksGVQEgfYdxA1ULZmlsbERpc3BsYXlxBEsGiX2HcQVVBG5hbWVxBksGVQFBfXEHVQFDXXEIKEsBSwNLBWVzh3EJVQVjaGFpbnEKSwZVAUF9cQtVAUJOXXEMKEsBSwGGcQ1LA0sBhnEOSwVLAYZxD2WGcRBzh3ERVQ5yaWJib25EcmF3TW9kZXESSwZLAn2HcRNVAnNzcRRLBomJiYd9h3EVVQhtb2xlY3VsZXEWSwZLAH1xFyhLAU5dcRhLAksChnEZYYZxGksCTl1xG0sESwKGcRxhhnEddYdxHlULcmliYm9uQ29sb3JxH0sGTn2HcSBVBWxhYmVscSFLBlUAfYdxIlUKbGFiZWxDb2xvcnEjSwZOfYdxJFUIZmlsbE1vZGVxJUsGSwF9h3EmVQVpc0hldHEnSwaJfYdxKFULbGFiZWxPZmZzZXRxKUsGTn2HcSpVCHBvc2l0aW9ucStdcSwoSwFLAoZxLUsBSwKGcS5LAUsChnEvZVUNcmliYm9uRGlzcGxheXEwSwaJfYdxMVUIb3B0aW9uYWxxMn1xM1UEc3NJZHE0SwZK/////32HcTV1Lg=="
        )
    )
    atomInfo = cPickle.loads(
        base64.b64decode(
            "gAJ9cQEoVQdyZXNpZHVlcQJLVEsDfXEDKEsETl1xBEsPSw2GcQVhhnEGSwVOXXEHSxxLD4ZxCGGGcQlLBk5dcQpLK0sNhnELYYZxDEsHTl1xDUs4Sw+GcQ5hhnEPSwhOXXEQS0dLDYZxEWGGcRJ1h3ETVQh2ZHdDb2xvcnEUS1ROfYdxFVUEbmFtZXEWS1RVAkMyfXEXKFUCTzJxGF1xGShLGks1S1NlVQMxSDZxGl1xGyhLDUsoSz9lVQMxSDRxHF1xHShLGUsxS1FlVQMySDRxHl1xHyhLGEsyS1JlVQMySDZxIF1xIShLDEspS0BlVQJDOHEiXXEjKEsCSx5LOmVVAkM2cSRdcSUoSwVLFUshSyxLPUtOZVUCQzVxJl1xJyhLBEsTSyBLLks8S0xlVQJDNHEoXXEpKEsKSxJLJUsvS0RLS2VVAk45cSpdcSsoSwBLHEs4ZVUCTjFxLF1xLShLBksPSyJLK0tBS0dlVQJOM3EuXXEvKEsJSxFLJEszS0NLSmVVAk40cTBdcTEoSxdLMEtQZVUCTjZxMl1xMyhLC0snSz5lVQJON3E0XXE1KEsDSx9LO2VVAkg4cTZdcTcoSw5LKktGZVUCSDlxOF1xOShLAUsdSzllVQJIMnE6XXE7KEsISyZLRWVVAkgxcTxdcT0oSxtLN0tIZVUCSDZxPl1xPyhLFkstS09lVQJINXFAXXFBKEsUSzZLTWV1h3FCVQN2ZHdxQ0tUiX2HcURVDnN1cmZhY2VEaXNwbGF5cUVLVIl9h3FGVQVjb2xvcnFHS1RLBH1xSChOXXFJKEsCSwRLBUsHSwpLEEsSSxNLFUseSyBLIUsjSyVLLEsuSy9LNEs6SzxLPUtCS0RLSUtLS0xLTmVLA11xSihLAEsDSwZLCUsLSw9LEUsXSxxLH0siSyRLJ0srSzBLM0s4SztLPktBS0NLR0tKS1BlSwVdcUsoSxpLNUtTZXWHcUxVCWlkYXRtVHlwZXFNS1SJfYdxTlUGYWx0TG9jcU9LVFUAfYdxUFUFbGFiZWxxUUtUVQB9h3FSVQ5zdXJmYWNlT3BhY2l0eXFTS1RHv/AAAAAAAAB9h3FUVQdlbGVtZW50cVVLVEsBfXFWKEsIXXFXKEsaSzVLU2VLBl1xWChLAksESwVLB0sKSxBLEksTSxVLHksgSyFLI0slSyxLLksvSzRLOks8Sz1LQktES0lLS0tMS05lSwddcVkoSwBLA0sGSwlLC0sPSxFLF0scSx9LIkskSydLK0swSzNLOEs7Sz5LQUtDS0dLSktQZXWHcVpVCmxhYmVsQ29sb3JxW0tUTn2HcVxVDHN1cmZhY2VDb2xvcnFdS1ROfYdxXlUGcmFkaXVzcV9LVEc/8AAAAAAAAH1xYChHP/oAAAAAAABdcWEoSwBLA0sGSwlLC0sPSxFLF0scSx9LIkskSydLK0swSzNLOEs7Sz5LQUtDS0dLSktQZUc/964UgAAAAF1xYihLGks1S1NlRz/7MzNAAAAAXXFjKEsCSwRLBUsHSwpLEEsSSxNLFUseSyBLIUsjSyVLLEsuSy9LNEs6SzxLPUtCS0RLSUtLS0xLTmV1h3FkVQtsYWJlbE9mZnNldHFlS1ROfYdxZlUPc3VyZmFjZUNhdGVnb3J5cWdLVFUEbWFpbn2HcWhVCGRyYXdNb2RlcWlLVEsCfYdxalUIb3B0aW9uYWxxa31xbChVB2JmYWN0b3JxbYhLVEcAAAAAAAAAAH2HhnFuVQlvY2N1cGFuY3lxb4hLVEcAAAAAAAAAAH2HhnFwdVUHZGlzcGxheXFxS1SIfXFyiU5dcXMoSwhLAYZxdEsOSwGGcXVLFEsBhnF2SxZLAYZxd0smSwGGcXhLKksBhnF5Sy1LAYZxeks2SwGGcXtLRUsChnF8S01LAYZxfUtPSwGGcX5lhnF/c4dxgHUu"
        )
    )
    bondInfo = cPickle.loads(
        base64.b64decode(
            "gAJ9cQEoVQVhdG9tc3ECXXEDKF1xBChLCksJZV1xBShLC0sJZV1xBihLC0sMZV1xByhLDUsMZV1xCChLDUsOZV1xCShLDksPZV1xCihLEEsPZV1xCyhLEEsRZV1xDChLEEsSZV1xDShLE0sSZV1xDihLE0sNZV1xDyhLE0sJZV1xEChLDksUZV1xEShLFUsUZV1xEihLFksUZV1xEyhLC0sXZV1xFChLGUsYZV1xFShLGUsaZV1xFihLG0saZV1xFyhLG0scZV1xGChLHEsdZV1xGShLHEseZV1xGihLHksYZV1xGyhLHksfZV1xHChLG0sgZV1xHShLIUsgZV1xHihLIksgZV1xHyhLGUsjZV1xIChLJEsYZV1xIShLJkslZV1xIihLJ0slZV1xIyhLJ0soZV1xJChLKUsoZV1xJShLKUsqZV1xJihLKksrZV1xJyhLLEsrZV1xKChLLEstZV1xKShLLkstZV1xKihLLkslZV1xKyhLLkspZV1xLChLLEsvZV1xLShLKkswZV1xLihLMUswZV1xLyhLMkswZV1xMChLJ0szZV1xMShLNUs0ZV1xMihLNUs2ZV1xMyhLN0s1ZV1xNChLOEs3ZV1xNShLOEs5ZV1xNihLOks5ZV1xNyhLO0s5ZV1xOChLOEs8ZV1xOShLPUs8ZV1xOihLPUs0ZV1xOyhLPUs+ZV1xPChLN0s/ZV1xPShLQEs0ZV1xPihLQktBZV1xPyhLQ0tBZV1xQChLQ0tEZV1xQShLRUtEZV1xQihLRUtGZV1xQyhLRktHZV1xRChLSEtHZV1xRShLSUtHZV1xRihLRktKZV1xRyhLS0tKZV1xSChLS0tMZV1xSShLTUtMZV1xSihLTUtBZV1xSyhLTUtFZV1xTChLS0tOZV1xTShLQ0tPZV1xTihLUUtQZV1xTyhLUktQZV1xUChLUktTZV1xUShLVEtTZV1xUihLVEtVZV1xUyhLVUtWZV1xVChLVUtXZV1xVShLV0tYZV1xVihLV0tQZV1xVyhLVEtZZV1xWChLWktZZV1xWShLW0tZZV1xWihLUktcZWVVBWxhYmVscVtLV1UAfYdxXFUGcmFkaXVzcV1LV0c/yZmZoAAAAH2HcV5VC2xhYmVsT2Zmc2V0cV9LV059h3FgVQhkcmF3TW9kZXFhS1dLAX2HcWJVCG9wdGlvbmFscWN9cWRVB2Rpc3BsYXlxZUtXSwJ9h3FmdS4="
        )
    )
    crdInfo = cPickle.loads(
        base64.b64decode(
            "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"
        )
    )
    surfInfo = {
        "category": (0, None, {}),
        "probeRadius": (0, None, {}),
        "pointSize": (0, None, {}),
        "name": [],
        "density": (0, None, {}),
        "colorMode": (0, None, {}),
        "useLighting": (0, None, {}),
        "transparencyBlendMode": (0, None, {}),
        "molecule": [],
        "smoothLines": (0, None, {}),
        "lineWidth": (0, None, {}),
        "allComponents": (0, None, {}),
        "twoSidedLighting": (0, None, {}),
        "oneTransparentLayer": (0, None, {}),
        "drawMode": (0, None, {}),
        "display": (0, None, {}),
        "customColors": [],
    }
    vrmlInfo = {
        "subid": (0, None, {}),
        "display": (0, None, {}),
        "id": (0, None, {}),
        "vrmlString": [],
        "name": (0, None, {}),
    }
    colors = {
        "Ru": ((0.141176, 0.560784, 0.560784), 1, "default"),
        "Ni": ((0.313725, 0.815686, 0.313725), 1, "default"),
        "Re": ((0.14902, 0.490196, 0.670588), 1, "default"),
        "Rf": ((0.8, 0, 0.34902), 1, "default"),
        "Ra": ((0, 0.490196, 0), 1, "default"),
        "Rb": ((0.439216, 0.180392, 0.690196), 1, "default"),
        "Rn": ((0.258824, 0.509804, 0.588235), 1, "default"),
        "Rh": ((0.0392157, 0.490196, 0.54902), 1, "default"),
        "Be": ((0.760784, 1, 0), 1, "default"),
        "Ba": ((0, 0.788235, 0), 1, "default"),
        "Bh": ((0.878431, 0, 0.219608), 1, "default"),
        "Bi": ((0.619608, 0.309804, 0.709804), 1, "default"),
        "Bk": ((0.541176, 0.309804, 0.890196), 1, "default"),
        "Br": ((0.65098, 0.160784, 0.160784), 1, "default"),
        "_openColor00": ((1, 1, 1), 1, "default"),
        "_openColor01": ((1, 0, 1), 1, "default"),
        "_openColor02": ((0, 1, 1), 1, "default"),
        "_openColor03": ((1, 1, 0), 1, "default"),
        "_openColor04": ((1, 0, 0), 1, "default"),
        "_openColor05": ((0, 0, 1), 1, "default"),
        "_openColor06": ((0.67, 1, 0), 1, "default"),
        "_openColor07": ((0.67, 0, 1), 1, "default"),
        "_openColor08": ((0.67, 1, 1), 1, "default"),
        "H": ((1, 1, 1), 1, "default"),
        "P": ((1, 0.501961, 0), 1, "default"),
        "Os": ((0.14902, 0.4, 0.588235), 1, "default"),
        "Ge": ((0.4, 0.560784, 0.560784), 1, "default"),
        "Gd": ((0.270588, 1, 0.780392), 1, "default"),
        "Ga": ((0.760784, 0.560784, 0.560784), 1, "default"),
        "Pr": ((0.85098, 1, 0.780392), 1, "default"),
        "_openColor12": ((1, 1, 0.5), 1, "default"),
        "_openColor11": ((1, 0.67, 1), 1, "default"),
        "_openColor10": ((0, 0.67, 1), 1, "default"),
        "Pt": ((0.815686, 0.815686, 0.878431), 1, "default"),
        "Pu": ((0, 0.419608, 1), 1, "default"),
        "C": ((0.564706, 0.564706, 0.564706), 1, "default"),
        "Pb": ((0.341176, 0.34902, 0.380392), 1, "default"),
        "Pa": ((0, 0.631373, 1), 1, "default"),
        "Pd": ((0, 0.411765, 0.521569), 1, "default"),
        "Xe": ((0.258824, 0.619608, 0.690196), 1, "default"),
        "Po": ((0.670588, 0.360784, 0), 1, "default"),
        "Pm": ((0.639216, 1, 0.780392), 1, "default"),
        "Hs": ((0.901961, 0, 0.180392), 1, "default"),
        "Ho": ((0, 1, 0.611765), 1, "default"),
        "Hf": ((0.301961, 0.760784, 1), 1, "default"),
        "Hg": ((0.721569, 0.721569, 0.815686), 1, "default"),
        "He": ((0.85098, 1, 1), 1, "default"),
        "Md": ((0.701961, 0.0509804, 0.65098), 1, "default"),
        "Mg": ((0.541176, 1, 0), 1, "default"),
        "K": ((0.560784, 0.25098, 0.831373), 1, "default"),
        "Mn": ((0.611765, 0.478431, 0.780392), 1, "default"),
        "O": ((1, 0.0509804, 0.0509804), 1, "default"),
        "Mt": ((0.921569, 0, 0.14902), 1, "default"),
        "S": ((1, 1, 0.188235), 1, "default"),
        "W": ((0.129412, 0.580392, 0.839216), 1, "default"),
        "Zn": ((0.490196, 0.501961, 0.690196), 1, "default"),
        "Eu": ((0.380392, 1, 0.780392), 1, "default"),
        "Zr": ((0.580392, 0.878431, 0.878431), 1, "default"),
        "Er": ((0, 0.901961, 0.458824), 1, "default"),
        "_openColor13": ((1, 0, 0.5), 1, "default"),
        "No": ((0.741176, 0.0509804, 0.529412), 1, "default"),
        "Na": ((0.670588, 0.360784, 0.94902), 1, "default"),
        "Nb": ((0.45098, 0.760784, 0.788235), 1, "default"),
        "Nd": ((0.780392, 1, 0.780392), 1, "default"),
        "Ne": ((0.701961, 0.890196, 0.960784), 1, "default"),
        "Np": ((0, 0.501961, 1), 1, "default"),
        "Fr": ((0.258824, 0, 0.4), 1, "default"),
        "_openColor15": ((0.67, 0.67, 1), 1, "default"),
        "_openColor14": ((0, 1, 0.5), 1, "default"),
        "Fe": ((0.878431, 0.4, 0.2), 1, "default"),
        "Fm": ((0.701961, 0.121569, 0.729412), 1, "default"),
        "B": ((1, 0.709804, 0.709804), 1, "default"),
        "F": ((0.564706, 0.878431, 0.313725), 1, "default"),
        "Sr": ((0, 1, 0), 1, "default"),
        "N": ((0.188235, 0.313725, 0.972549), 1, "default"),
        "Kr": ((0.360784, 0.721569, 0.819608), 1, "default"),
        "Si": ((0.941176, 0.784314, 0.627451), 1, "default"),
        "Sn": ((0.4, 0.501961, 0.501961), 1, "default"),
        "Sm": ((0.560784, 1, 0.780392), 1, "default"),
        "V": ((0.65098, 0.65098, 0.670588), 1, "default"),
        "Sc": ((0.901961, 0.901961, 0.901961), 1, "default"),
        "Sb": ((0.619608, 0.388235, 0.709804), 1, "default"),
        "Sg": ((0.85098, 0, 0.270588), 1, "default"),
        "Se": ((1, 0.631373, 0), 1, "default"),
        "Co": ((0.941176, 0.564706, 0.627451), 1, "default"),
        "Cm": ((0.470588, 0.360784, 0.890196), 1, "default"),
        "Cl": ((0.121569, 0.941176, 0.121569), 1, "default"),
        "Ca": ((0.239216, 1, 0), 1, "default"),
        "Cf": ((0.631373, 0.211765, 0.831373), 1, "default"),
        "Ce": ((1, 1, 0.780392), 1, "default"),
        "Cd": ((1, 0.85098, 0.560784), 1, "default"),
        "Tm": ((0, 0.831373, 0.321569), 1, "default"),
        "Cs": ((0.341176, 0.0901961, 0.560784), 1, "default"),
        "Cr": ((0.541176, 0.6, 0.780392), 1, "default"),
        "Cu": ((0.784314, 0.501961, 0.2), 1, "default"),
        "La": ((0.439216, 0.831373, 1), 1, "default"),
        "Li": ((0.8, 0.501961, 1), 1, "default"),
        "Tl": ((0.65098, 0.329412, 0.301961), 1, "default"),
        "Lu": ((0, 0.670588, 0.141176), 1, "default"),
        "Lr": ((0.780392, 0, 0.4), 1, "default"),
        "Th": ((0, 0.729412, 1), 1, "default"),
        "Ti": ((0.74902, 0.760784, 0.780392), 1, "default"),
        "Te": ((0.831373, 0.478431, 0), 1, "default"),
        "Tb": ((0.188235, 1, 0.780392), 1, "default"),
        "Tc": ((0.231373, 0.619608, 0.619608), 1, "default"),
        "Ta": ((0.301961, 0.65098, 1), 1, "default"),
        "Yb": ((0, 0.74902, 0.219608), 1, "default"),
        "Db": ((0.819608, 0, 0.309804), 1, "default"),
        "Dy": ((0.121569, 1, 0.780392), 1, "default"),
        "_openColor09": ((1, 0.67, 0), 1, "default"),
        "At": ((0.458824, 0.309804, 0.270588), 1, "default"),
        "I": ((0.580392, 0, 0.580392), 1, "default"),
        "U": ((0, 0.560784, 1), 1, "default"),
        "Y": ((0.580392, 1, 1), 1, "default"),
        "Ac": ((0.439216, 0.670588, 0.980392), 1, "default"),
        "Ag": ((0.752941, 0.752941, 0.752941), 1, "default"),
        "Ir": ((0.0901961, 0.329412, 0.529412), 1, "default"),
        "Am": ((0.329412, 0.360784, 0.94902), 1, "default"),
        "Al": ((0.74902, 0.65098, 0.65098), 1, "default"),
        "As": ((0.741176, 0.501961, 0.890196), 1, "default"),
        "Ar": ((0.501961, 0.819608, 0.890196), 1, "default"),
        "Au": ((1, 0.819608, 0.137255), 1, "default"),
        "Es": ((0.701961, 0.121569, 0.831373), 1, "default"),
        "In": ((0.65098, 0.458824, 0.45098), 1, "default"),
        "Mo": ((0.329412, 0.709804, 0.709804), 1, "default"),
    }
    materials = {"default": ((0.85, 0.85, 0.85), 30)}
    pbInfo = {
        "category": ["distance monitor"],
        "bondInfo": [
            {
                "color": (0, None, {}),
                "atoms": [],
                "label": (0, None, {}),
                "halfbond": (0, None, {}),
                "labelColor": (0, None, {}),
                "drawMode": (0, None, {}),
                "display": (0, None, {}),
            }
        ],
        "lineType": (1, 2, {}),
        "color": (1, 6, {}),
        "showStubBonds": (1, False, {}),
        "lineWidth": (1, 1, {}),
        "stickScale": (1, 1, {}),
        "id": [-2],
    }
    modelAssociations = {}
    colorInfo = {
        0: ("_openColor00", (1, 1, 1, 1)),
        1: ("_openColor01", (1, 0, 1, 1)),
        2: ("_openColor02", (0, 1, 1, 1)),
        3: ("N", (0.188235, 0.313725, 0.972549, 1)),
        4: ("H", (1, 1, 1, 1)),
        5: ("O", (1, 0.0509804, 0.0509804, 1)),
        6: ("yellow", (1, 1, 0, 1)),
        7: ("white", (1, 1, 1, 1)),
        8: ("green", (0, 1, 0, 1)),
    }
    viewerInfo = {
        "cameraAttrs": {
            "center": (10.6715, 42.045, 26.4516),
            "fieldOfView": 26.2751,
            "nearFar": (34.7633, 18.14),
            "ortho": False,
            "eyeSeparation": 50.8,
            "focal": 27.3285,
        },
        "viewerAttrs": {
            "silhouetteColor": None,
            "clipping": False,
            "showSilhouette": False,
            "viewSize": 9.84382,
            "depthCueRange": (0.5, 1),
            "silhouetteWidth": 1,
            "depthCue": True,
            "highlight": 0,
            "scaleFactor": 0.673419,
        },
        "viewerHL": 8,
        "cameraMode": "mono",
        "detail": 1,
        "viewerFog": None,
        "viewerBG": 7,
    }

    replyobj.status("Initializing session restore...", blankAfter=0)
    init(colorInfo)
    replyobj.status("Restoring colors...", blankAfter=0)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...", blankAfter=0)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...", blankAfter=0)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0)
    restoreViewer(viewerInfo)