agora-appbuilder-core 4.1.20 → 4.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/package.json +1 -1
  2. package/template/bridge/rtm/web/__tests__/storage.test.ts +130 -0
  3. package/template/bridge/rtm/web/index.ts +44 -19
  4. package/template/customization-api/customize.tsx +6 -0
  5. package/template/customization-api/index.ts +11 -0
  6. package/template/customization-api/typeDefinition.ts +6 -0
  7. package/template/defaultConfig.js +2 -2
  8. package/template/src/assets/live-reactions/1f440.gif +0 -0
  9. package/template/src/assets/live-reactions/1f44d_1f3fb.gif +0 -0
  10. package/template/src/assets/live-reactions/1f44d_1f3fc.gif +0 -0
  11. package/template/src/assets/live-reactions/1f44d_1f3fd.gif +0 -0
  12. package/template/src/assets/live-reactions/1f44d_1f3fe.gif +0 -0
  13. package/template/src/assets/live-reactions/1f44d_1f3ff.gif +0 -0
  14. package/template/src/assets/live-reactions/1f44f_1f3fb.gif +0 -0
  15. package/template/src/assets/live-reactions/1f44f_1f3fc.gif +0 -0
  16. package/template/src/assets/live-reactions/1f44f_1f3fd.gif +0 -0
  17. package/template/src/assets/live-reactions/1f44f_1f3fe.gif +0 -0
  18. package/template/src/assets/live-reactions/1f44f_1f3ff.gif +0 -0
  19. package/template/src/assets/live-reactions/1f4a1.gif +0 -0
  20. package/template/src/assets/live-reactions/1f4af.gif +0 -0
  21. package/template/src/assets/live-reactions/1f525.gif +0 -0
  22. package/template/src/assets/live-reactions/1f60e.gif +0 -0
  23. package/template/src/assets/live-reactions/1f643.gif +0 -0
  24. package/template/src/assets/live-reactions/1f64c.gif +0 -0
  25. package/template/src/assets/live-reactions/1f64c_1f3fb.gif +0 -0
  26. package/template/src/assets/live-reactions/1f64c_1f3fc.gif +0 -0
  27. package/template/src/assets/live-reactions/1f64c_1f3fd.gif +0 -0
  28. package/template/src/assets/live-reactions/1f64c_1f3fe.gif +0 -0
  29. package/template/src/assets/live-reactions/1f64c_1f3ff.gif +0 -0
  30. package/template/src/assets/live-reactions/1f64f.gif +0 -0
  31. package/template/src/assets/live-reactions/1f64f_1f3fb.gif +0 -0
  32. package/template/src/assets/live-reactions/1f64f_1f3fc.gif +0 -0
  33. package/template/src/assets/live-reactions/1f64f_1f3fd.gif +0 -0
  34. package/template/src/assets/live-reactions/1f64f_1f3fe.gif +0 -0
  35. package/template/src/assets/live-reactions/1f64f_1f3ff.gif +0 -0
  36. package/template/src/assets/live-reactions/1f680.gif +0 -0
  37. package/template/src/assets/live-reactions/2705.gif +0 -0
  38. package/template/src/assets/live-reactions/animated/1f440.json +1 -0
  39. package/template/src/assets/live-reactions/animated/1f44d_1f3fb.json +1 -0
  40. package/template/src/assets/live-reactions/animated/1f44d_1f3fc.json +1 -0
  41. package/template/src/assets/live-reactions/animated/1f44d_1f3fd.json +1 -0
  42. package/template/src/assets/live-reactions/animated/1f44d_1f3fe.json +1 -0
  43. package/template/src/assets/live-reactions/animated/1f44d_1f3ff.json +1 -0
  44. package/template/src/assets/live-reactions/animated/1f44f_1f3fb.json +1 -0
  45. package/template/src/assets/live-reactions/animated/1f44f_1f3fc.json +1 -0
  46. package/template/src/assets/live-reactions/animated/1f44f_1f3fd.json +1 -0
  47. package/template/src/assets/live-reactions/animated/1f44f_1f3fe.json +1 -0
  48. package/template/src/assets/live-reactions/animated/1f44f_1f3ff.json +1 -0
  49. package/template/src/assets/live-reactions/animated/1f4a1.json +1 -0
  50. package/template/src/assets/live-reactions/animated/1f4af.json +1 -0
  51. package/template/src/assets/live-reactions/animated/1f525.json +1 -0
  52. package/template/src/assets/live-reactions/animated/1f60e.json +1 -0
  53. package/template/src/assets/live-reactions/animated/1f643.json +1 -0
  54. package/template/src/assets/live-reactions/animated/1f64c.json +1 -0
  55. package/template/src/assets/live-reactions/animated/1f64c_1f3fb.json +1 -0
  56. package/template/src/assets/live-reactions/animated/1f64c_1f3fc.json +1 -0
  57. package/template/src/assets/live-reactions/animated/1f64c_1f3fd.json +1 -0
  58. package/template/src/assets/live-reactions/animated/1f64c_1f3fe.json +1 -0
  59. package/template/src/assets/live-reactions/animated/1f64c_1f3ff.json +1 -0
  60. package/template/src/assets/live-reactions/animated/1f64f.json +1 -0
  61. package/template/src/assets/live-reactions/animated/1f64f_1f3fb.json +1 -0
  62. package/template/src/assets/live-reactions/animated/1f64f_1f3fc.json +1 -0
  63. package/template/src/assets/live-reactions/animated/1f64f_1f3fd.json +1 -0
  64. package/template/src/assets/live-reactions/animated/1f64f_1f3fe.json +1 -0
  65. package/template/src/assets/live-reactions/animated/1f64f_1f3ff.json +1 -0
  66. package/template/src/assets/live-reactions/animated/1f680.json +1 -0
  67. package/template/src/assets/live-reactions/animated/2705.json +1 -0
  68. package/template/src/assets/live-reactions/custom/ty.png +0 -0
  69. package/template/src/components/RTMConfigure.tsx +15 -10
  70. package/template/src/components/StorageContext.tsx +3 -0
  71. package/template/src/components/reactions/LiveReactionBadge.tsx +20 -2
  72. package/template/src/components/reactions/LiveReactionButton.tsx +200 -44
  73. package/template/src/components/reactions/LiveReactionStageOverlay.native.tsx +34 -10
  74. package/template/src/components/reactions/LiveReactionStageOverlay.tsx +30 -7
  75. package/template/src/components/reactions/catalog.ts +241 -0
  76. package/template/src/components/useVideoCall.tsx +20 -2
  77. package/template/src/rtm/__tests__/isRemoteDeparture.test.ts +19 -0
  78. package/template/src/rtm/isRemoteDeparture.ts +4 -0
  79. package/template/src/subComponents/caption/__tests__/sttRequestBody.test.ts +61 -0
  80. package/template/src/subComponents/caption/__tests__/sttSessionId.native.test.ts +76 -0
  81. package/template/src/subComponents/caption/__tests__/sttSessionId.web.test.ts +190 -0
  82. package/template/src/subComponents/caption/__tests__/useSTTAPI.test.tsx +129 -0
  83. package/template/src/subComponents/caption/sttRequestBody.ts +54 -0
  84. package/template/src/subComponents/caption/sttSessionCoordinator.ts +315 -0
  85. package/template/src/subComponents/caption/sttSessionId.ts +21 -0
  86. package/template/src/subComponents/caption/sttSessionId.web.ts +21 -0
  87. package/template/src/subComponents/caption/useSTTAPI.tsx +13 -33
  88. package/template/src/utils/__tests__/useEndCall.test.tsx +282 -0
  89. package/template/src/utils/useEndCall.ts +63 -22
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agora-appbuilder-core",
3
- "version": "4.1.20",
3
+ "version": "4.1.21",
4
4
  "description": "React Native template for RTE app builder",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -0,0 +1,130 @@
1
+ import {beforeEach, describe, expect, it, jest} from '@jest/globals';
2
+
3
+ const mockSetChannelMetadata = jest.fn<any>();
4
+ const mockGetChannelMetadata = jest.fn<any>();
5
+ const mockRemoveChannelMetadata = jest.fn<any>();
6
+
7
+ jest.mock('agora-rtm-sdk', () => ({
8
+ __esModule: true,
9
+ default: {
10
+ RTM: jest.fn().mockImplementation(() => ({
11
+ addEventListener: jest.fn(),
12
+ removeEventListener: jest.fn(),
13
+ removeAllListeners: jest.fn(),
14
+ storage: {
15
+ setChannelMetadata: mockSetChannelMetadata,
16
+ getChannelMetadata: mockGetChannelMetadata,
17
+ removeChannelMetadata: mockRemoveChannelMetadata,
18
+ },
19
+ presence: {},
20
+ })),
21
+ },
22
+ }));
23
+
24
+ import {RTMWebClient} from '../index';
25
+
26
+ describe('RTMWebClient channel metadata bridge', () => {
27
+ let client: RTMWebClient;
28
+
29
+ beforeEach(() => {
30
+ jest.clearAllMocks();
31
+ mockSetChannelMetadata.mockResolvedValue({});
32
+ mockRemoveChannelMetadata.mockResolvedValue({});
33
+ client = new RTMWebClient('app-id', 'user-id');
34
+ });
35
+
36
+ it('preserves revision zero for create-only channel metadata', async () => {
37
+ await client.storage.setChannelMetadata(
38
+ 'room',
39
+ 1,
40
+ {
41
+ items: [
42
+ {
43
+ key: 'STT_SESSION_ID',
44
+ value: 'session-a',
45
+ revision: 0,
46
+ },
47
+ ],
48
+ },
49
+ {addUserId: true, addTimeStamp: true},
50
+ );
51
+
52
+ expect(mockSetChannelMetadata).toHaveBeenCalledWith(
53
+ 'room',
54
+ 'MESSAGE',
55
+ [
56
+ {
57
+ key: 'STT_SESSION_ID',
58
+ value: 'session-a',
59
+ revision: 0,
60
+ },
61
+ ],
62
+ {addUserId: true, addTimeStamp: true},
63
+ );
64
+ });
65
+
66
+ it('maps channel metadata revision, author, and timestamp fields', async () => {
67
+ mockGetChannelMetadata.mockResolvedValue({
68
+ channelName: 'room',
69
+ channelType: 'MESSAGE',
70
+ timestamp: 100,
71
+ totalCount: 1,
72
+ majorRevision: 12,
73
+ metadata: {
74
+ STT_SESSION_ID: {
75
+ value: 'session-a',
76
+ revision: 11,
77
+ authorUid: '42',
78
+ updated: 99,
79
+ },
80
+ },
81
+ });
82
+
83
+ await expect(client.storage.getChannelMetadata('room', 1)).resolves.toEqual(
84
+ {
85
+ majorRevision: 12,
86
+ items: [
87
+ {
88
+ key: 'STT_SESSION_ID',
89
+ value: 'session-a',
90
+ revision: 11,
91
+ authorUserId: '42',
92
+ updateTs: 99,
93
+ },
94
+ ],
95
+ itemCount: 1,
96
+ timestamp: 100,
97
+ channelName: 'room',
98
+ channelType: 1,
99
+ },
100
+ );
101
+ });
102
+
103
+ it('removes only the requested channel metadata revision', async () => {
104
+ await client.storage.removeChannelMetadata('room', 1, {
105
+ data: {
106
+ items: [
107
+ {
108
+ key: 'STT_SESSION_ID',
109
+ value: '',
110
+ revision: 11,
111
+ },
112
+ ],
113
+ },
114
+ addUserId: true,
115
+ addTimeStamp: true,
116
+ });
117
+
118
+ expect(mockRemoveChannelMetadata).toHaveBeenCalledWith('room', 'MESSAGE', {
119
+ data: [
120
+ {
121
+ key: 'STT_SESSION_ID',
122
+ value: '',
123
+ revision: 11,
124
+ },
125
+ ],
126
+ addUserId: true,
127
+ addTimeStamp: true,
128
+ });
129
+ });
130
+ });
@@ -9,6 +9,7 @@ import {
9
9
  type GetUserMetadataResponse as NativeGetUserMetadataResponse,
10
10
  type GetChannelMetadataResponse as NativeGetChannelMetadataResponse,
11
11
  type SetOrUpdateUserMetadataOptions as NativeSetOrUpdateUserMetadataOptions,
12
+ type RemoveChannelMetadataOptions as NativeRemoveChannelMetadataOptions,
12
13
  type IMetadataOptions as NativeIMetadataOptions,
13
14
  type StorageEvent as NativeStorageEvent,
14
15
  type PresenceEvent as NativePresenceEvent,
@@ -37,27 +38,31 @@ import {
37
38
 
38
39
  type CallbackType = (args?: any) => void;
39
40
 
41
+ const toNativeMetadataItem = (
42
+ key: string,
43
+ metadataItem: MetaDataDetail,
44
+ ): NativeMetadataItem => ({
45
+ key,
46
+ value: metadataItem.value,
47
+ revision: metadataItem.revision,
48
+ authorUserId: metadataItem.authorUid,
49
+ updateTs: metadataItem.updated,
50
+ });
51
+
40
52
  // Conversion function
41
53
  const convertWebToNativeMetadata = (webMetadata: any): NativeMetadata => {
42
54
  // Convert object entries to MetadataItem array
43
55
  const items: NativeMetadataItem[] =
44
56
  Object.entries(webMetadata.metadata).map(
45
- ([key, metadataItem]: [string, MetaDataDetail]) => {
46
- return {
47
- key: key,
48
- value: metadataItem.value,
49
- revision: metadataItem.revision,
50
- authorUserId: metadataItem.authorUid,
51
- updateTs: metadataItem.updated,
52
- };
53
- },
57
+ ([key, metadataItem]: [string, MetaDataDetail]) =>
58
+ toNativeMetadataItem(key, metadataItem),
54
59
  ) || [];
55
60
 
56
61
  // Create native Metadata object
57
62
  const nativeMetadata: NativeMetadata = {
58
- majorRevision: webMetadata?.revision || -1, // Use first item's revision as major revision
63
+ majorRevision: webMetadata?.majorRevision ?? -1,
59
64
  items: items,
60
- itemCount: webMetadata?.totalCount || 0,
65
+ itemCount: webMetadata?.totalCount ?? 0,
61
66
  };
62
67
 
63
68
  return nativeMetadata;
@@ -259,8 +264,8 @@ export class RTMWebClient {
259
264
  }
260
265
  return {
261
266
  key: item.key,
262
- value: item.value || '', // Default to empty string if not provided
263
- revision: item.revision || -1, // Default to -1 if not provided
267
+ value: item.value ?? '',
268
+ revision: item.revision ?? -1,
264
269
  };
265
270
  });
266
271
  return this.client.storage.setChannelMetadata(
@@ -268,8 +273,8 @@ export class RTMWebClient {
268
273
  (webChannelTypeMapping[channelType] as ChannelType) || 'MESSAGE',
269
274
  validatedItems,
270
275
  {
271
- addUserId: options?.addUserId || true,
272
- addTimeStamp: options?.addTimeStamp || true,
276
+ addUserId: options?.addUserId ?? true,
277
+ addTimeStamp: options?.addTimeStamp ?? true,
273
278
  },
274
279
  );
275
280
  },
@@ -286,12 +291,10 @@ export class RTMWebClient {
286
291
  );
287
292
 
288
293
  const items = Object.entries(webResponse.metadata).map(
289
- ([key, metadataItem]) => ({
290
- key: key,
291
- value: metadataItem.value,
292
- }),
294
+ ([key, metadataItem]) => toNativeMetadataItem(key, metadataItem),
293
295
  );
294
296
  const nativeResponse: NativeGetChannelMetadataResponse = {
297
+ majorRevision: webResponse.majorRevision,
295
298
  items: [...items],
296
299
  itemCount: webResponse.totalCount,
297
300
  timestamp: webResponse.timestamp,
@@ -309,6 +312,28 @@ export class RTMWebClient {
309
312
  throw contextError;
310
313
  }
311
314
  },
315
+
316
+ removeChannelMetadata: async (
317
+ channelName: string,
318
+ channelType: NativeRtmChannelType,
319
+ options?: NativeRemoveChannelMetadataOptions,
320
+ ) => {
321
+ const data = options?.data?.items?.map(item => ({
322
+ key: item.key,
323
+ value: item.value ?? '',
324
+ revision: item.revision ?? -1,
325
+ }));
326
+
327
+ return this.client.storage.removeChannelMetadata(
328
+ channelName,
329
+ (webChannelTypeMapping[channelType] as ChannelType) || 'MESSAGE',
330
+ {
331
+ ...(data ? {data} : {}),
332
+ addUserId: options?.addUserId ?? true,
333
+ addTimeStamp: options?.addTimeStamp ?? true,
334
+ },
335
+ );
336
+ },
312
337
  };
313
338
  }
314
339
 
@@ -13,6 +13,7 @@ import React from 'react';
13
13
  import {AI_AGENT_CUSTOMIZATION} from '../src/ai-agent';
14
14
  import {LogSource, logger} from '../src/logger/AppBuilderLogger';
15
15
  import {CustomizationApiInterface} from './typeDefinition';
16
+ import {registerCustomLiveReactions} from '../src/components/reactions/catalog';
16
17
  import ReactIs from 'react-is';
17
18
  /**
18
19
  *
@@ -223,6 +224,11 @@ export const customize = (config: CustomizationApiInterface) => {
223
224
 
224
225
  //validating the lifecycle
225
226
  config?.lifecycle && validateLifecycle(config?.lifecycle);
227
+
228
+ // register consumer-provided live reactions (custom stickers etc.)
229
+ if (newConfig?.liveReactions) {
230
+ registerCustomLiveReactions(newConfig.liveReactions);
231
+ }
226
232
  } catch (error) {
227
233
  logger.error(
228
234
  LogSource.CustomizationAPI,
@@ -29,3 +29,14 @@ export * from './atoms';
29
29
 
30
30
  //TODO: hari remove later - used for simple-practice demo
31
31
  export * from './temp';
32
+
33
+ // Live reactions extension surface — types + register helper so consumers can
34
+ // inject their own custom stickers via `customize({liveReactions: [...]})`.
35
+ export type {
36
+ LiveReactionDefinition,
37
+ LiveReactionCustomMeta,
38
+ LiveReactionSkinToneAsset,
39
+ SkinToneCode,
40
+ SkinTonePreference,
41
+ } from '../src/components/reactions/catalog';
42
+ export {registerCustomLiveReactions} from '../src/components/reactions/catalog';
@@ -168,4 +168,10 @@ export interface CustomizationApiInterface {
168
168
  // useBeforeJoin?: CustomHookType;
169
169
  // useBeforeCreate?: CustomHookType;
170
170
  };
171
+ /**
172
+ * Custom live reactions appended to the default emoji catalog. Each entry
173
+ * needs a unique key, a fallback unicode emoji, and an asset. Set
174
+ * `custom` on the entry to render an image sticker instead of unicode text.
175
+ */
176
+ liveReactions?: import('../src/components/reactions/catalog').LiveReactionDefinition[];
171
177
  }
@@ -77,8 +77,8 @@ const DefaultConfig = {
77
77
  CHAT_ORG_NAME: "",
78
78
  CHAT_APP_NAME: "",
79
79
  CHAT_URL: "",
80
- CLI_VERSION: "3.1.20",
81
- CORE_VERSION: "4.1.20",
80
+ CLI_VERSION: "3.1.21",
81
+ CORE_VERSION: "4.1.21",
82
82
  DISABLE_LANDSCAPE_MODE: false,
83
83
  STT_AUTO_START: false,
84
84
  CLOUD_RECORDING_AUTO_START: false,
@@ -0,0 +1 @@
1
+ {"v":"5.8.1","fr":60,"ip":0,"op":120,"w":1024,"h":1024,"nm":"emoji_eyes","ddd":0,"assets":[{"id":"comp_0","nm":"Eyes v002","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[509,484,0],"ix":2,"l":2},"a":{"a":0,"k":[512,512,0],"ix":1,"l":2},"s":{"a":0,"k":[175,173.5,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"R Eye Line ","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[255.625,391.625],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.705882352941,0.756862804936,0.784313785329,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":19,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"R Eye Line","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"R Lid 02","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.065,"y":0},"t":82.5,"s":[{"i":[[-70.589,0],[0,-108.144],[118.477,-2.316],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-121.524,2.375],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.352,-196.375],[-127.813,0]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":97.5,"s":[{"i":[[-70.589,0],[0,-108.144],[74.534,-1.625],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-70.489,1.536],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.588,51.625],[-127.813,0]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.203,"y":0},"t":105,"s":[{"i":[[-70.589,0],[0,-108.144],[74.534,-1.625],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-70.489,1.536],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.588,51.625],[-127.813,0]],"c":true}]},{"t":115,"s":[{"i":[[-70.589,0],[0,-108.144],[118.477,-2.316],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-121.524,2.375],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.352,-196.375],[-127.813,0]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.705882352941,0.756862804936,0.784313785329,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.614441695868,0.691064094095,0.732322303922,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"R Top 02","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.065,"y":0},"t":82.5,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-122.826,-3.377]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[121.136,3.33]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.346,195.377]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.203,"y":0},"t":105,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-63.939,0.123]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[64.468,-0.124]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.173,0.377]],"c":true}]},{"t":112.5,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-122.826,-3.377]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[121.136,3.33]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.346,195.377]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.705882352941,0.756862804936,0.784313785329,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61568627451,0.690196078431,0.733333333333,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"R Bottom 02","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":85,"op":114,"st":67.5,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"R Lid 01","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.065,"y":0},"t":15,"s":[{"i":[[-70.589,0],[0,-108.144],[118.477,-2.316],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-121.524,2.375],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.352,-196.375],[-127.813,0]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":30,"s":[{"i":[[-70.589,0],[0,-108.144],[74.534,-1.625],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-70.489,1.536],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.588,51.625],[-127.813,0]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.203,"y":0},"t":37.5,"s":[{"i":[[-70.589,0],[0,-108.144],[74.534,-1.625],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-70.489,1.536],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.588,51.625],[-127.813,0]],"c":true}]},{"t":47.5,"s":[{"i":[[-70.589,0],[0,-108.144],[118.477,-2.316],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-121.524,2.375],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.352,-196.375],[-127.813,0]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.705882352941,0.756862804936,0.784313785329,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.614441695868,0.691064094095,0.732322303922,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"R Top 01","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.065,"y":0},"t":15,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-122.826,-3.377]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[121.136,3.33]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.346,195.377]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.203,"y":0},"t":37.5,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-63.939,0.123]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[64.468,-0.124]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.173,0.377]],"c":true}]},{"t":45,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-122.826,-3.377]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[121.136,3.33]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.346,195.377]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.705882352941,0.756862804936,0.784313785329,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61568627451,0.690196078431,0.733333333333,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"R Bottom 01","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":17.5,"op":46,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"R Pupil ","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[-135,20,0],"to":[0,8.196,0],"ti":[8.5,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[-135,69.176,0],"to":[-8.5,0,0],"ti":[8.5,8.196,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":45,"s":[-186,20,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":82,"s":[-186,20,0],"to":[8.5,8.196,0],"ti":[-8.5,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":97.5,"s":[-135,69.176,0],"to":[8.5,0,0],"ti":[0,8.196,0]},{"t":112.5,"s":[-135,20,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-186,20,0],"ix":1,"l":2},"s":{"a":0,"k":[99,101,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[58.681,74.625],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392216701,0.980392216701,0.980392216701,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-148.057,-31.603],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[102.842,104.002],"ix":3},"r":{"a":0,"k":41,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"R Hilit","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":30,"s":[121.625,161.625]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[117.625,174.625]},{"t":45,"s":[121.625,161.625]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0.005,0.259,0.259,0.259,0.505,0.194,0.194,0.194,0.988,0.129,0.129,0.129],"ix":9}},"s":{"a":0,"k":[-1.757,-81.034],"ix":5},"e":{"a":0,"k":[-1.294,81.034],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-188.82,17.729],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[98.58,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[-22]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[0]},{"t":82,"s":[0]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"R Pupil","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"R Eye White ","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[655.853,534,0],"to":[0,1.833,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[655.853,545,0],"to":[0,0,0],"ti":[0,1.833,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":45,"s":[655.853,534,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":82,"s":[655.853,534,0],"to":[0,1.833,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":97,"s":[655.853,545,0],"to":[0,0,0],"ti":[0,1.833,0]},{"t":112.5,"s":[655.853,534,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-130,22,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":15,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":25,"s":[106,93,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":37.5,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":45,"s":[98,103,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":50,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":82,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":92,"s":[106,93,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":105,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":113,"s":[98,103,100]},{"t":117.5,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[255.625,391.625],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392216701,0.980392216701,0.980392216701,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"R Eye ","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"L Eye Line ","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[255.625,391.625],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.705882352941,0.756862804936,0.784313785329,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":19,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L Eye Line","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"L Lid 02","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.065,"y":0},"t":82.5,"s":[{"i":[[-70.589,0],[0,-108.144],[118.477,-2.316],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-121.524,2.375],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.352,-196.375],[-127.813,0]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":97.5,"s":[{"i":[[-70.589,0],[0,-108.144],[74.534,-1.625],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-70.489,1.536],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.588,51.625],[-127.813,0]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.203,"y":0},"t":105,"s":[{"i":[[-70.589,0],[0,-108.144],[74.534,-1.625],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-70.489,1.536],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.588,51.625],[-127.813,0]],"c":true}]},{"t":115,"s":[{"i":[[-70.589,0],[0,-108.144],[118.477,-2.316],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-121.524,2.375],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.352,-196.375],[-127.813,0]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.705882352941,0.756862804936,0.784313785329,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.614441695868,0.691064094095,0.732322303922,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L Top 02","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.065,"y":0},"t":82.5,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-122.826,-3.377]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[121.136,3.33]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.346,195.377]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.203,"y":0},"t":105,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-63.939,0.123]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[64.468,-0.124]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.173,0.377]],"c":true}]},{"t":112.5,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-122.826,-3.377]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[121.136,3.33]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.346,195.377]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.705882352941,0.756862804936,0.784313785329,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61568627451,0.690196078431,0.733333333333,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L Bottom 02","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":85,"op":114,"st":67.5,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"L Lid 01","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.065,"y":0},"t":15,"s":[{"i":[[-70.589,0],[0,-108.144],[118.477,-2.316],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-121.524,2.375],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.352,-196.375],[-127.813,0]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":30,"s":[{"i":[[-70.589,0],[0,-108.144],[74.534,-1.625],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-70.489,1.536],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.588,51.625],[-127.813,0]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.203,"y":0},"t":37.5,"s":[{"i":[[-70.589,0],[0,-108.144],[74.534,-1.625],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-70.489,1.536],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.588,51.625],[-127.813,0]],"c":true}]},{"t":47.5,"s":[{"i":[[-70.589,0],[0,-108.144],[118.477,-2.316],[0.321,0]],"o":[[70.589,0],[0.507,-0.499],[-121.524,2.375],[0,-108.144]],"v":[[0,-195.813],[127.813,0],[0.352,-196.375],[-127.813,0]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.705882352941,0.756862804936,0.784313785329,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.614441695868,0.691064094095,0.732322303922,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L Top 01","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.065,"y":0},"t":15,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-122.826,-3.377]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[121.136,3.33]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.346,195.377]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.203,"y":0},"t":37.5,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-63.939,0.123]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[64.468,-0.124]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.173,0.377]],"c":true}]},{"t":45,"s":[{"i":[[1.012,0],[70.589,0],[0,108.144],[-122.826,-3.377]],"o":[[0,108.144],[-70.589,0],[-0.179,0.498],[121.136,3.33]],"v":[[127.813,0],[0,195.813],[-127.813,0],[-0.346,195.377]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.705882352941,0.756862804936,0.784313785329,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61568627451,0.690196078431,0.733333333333,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L Bottom 01","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":17.5,"op":45,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"L Pupil ","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[-135,20,0],"to":[0,8.196,0],"ti":[8.5,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[-135,69.176,0],"to":[-8.5,0,0],"ti":[8.5,8.196,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":45,"s":[-186,20,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":82,"s":[-186,20,0],"to":[8.5,8.196,0],"ti":[-8.5,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":97.5,"s":[-135,69.176,0],"to":[8.5,0,0],"ti":[0,8.196,0]},{"t":112.5,"s":[-135,20,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-186,20,0],"ix":1,"l":2},"s":{"a":0,"k":[99,101,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[58.681,78.625],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392216701,0.980392216701,0.980392216701,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-146.915,-32.18],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[104.845,103.123],"ix":3},"r":{"a":0,"k":46,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L Hilit","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":30,"s":[121.625,161.625]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[117.625,174.625]},{"t":45,"s":[121.625,161.625]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0.005,0.259,0.259,0.259,0.505,0.194,0.194,0.194,0.988,0.129,0.129,0.129],"ix":9}},"s":{"a":0,"k":[-1.757,-81.034],"ix":5},"e":{"a":0,"k":[-1.294,81.034],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-189.106,17.729],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[99.056,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[-22]},{"t":45,"s":[0]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L Pupil","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"L Eye White ","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[383.147,534,0],"to":[0,1.833,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[383.147,545,0],"to":[0,0,0],"ti":[0,1.833,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":45,"s":[383.147,534,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":82.5,"s":[383.147,534,0],"to":[0,1.833,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":97.5,"s":[383.147,545,0],"to":[0,0,0],"ti":[0,1.833,0]},{"t":112.5,"s":[383.147,534,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-130,22,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":15,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":25,"s":[106,93,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":37.5,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":45,"s":[98,103,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":50,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":82.5,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":92.5,"s":[106,93,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":105,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":112.5,"s":[98,103,100]},{"t":117.5,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[255.625,391.625],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392216701,0.980392216701,0.980392216701,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-135.828,16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L Eye ","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Eyes v002","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[512,512,0],"ix":2,"l":2},"a":{"a":0,"k":[512,512,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1024,"h":1024,"ip":-82,"op":38,"st":-82,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Eyes v002","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[512,512,0],"ix":2,"l":2},"a":{"a":0,"k":[512,512,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1024,"h":1024,"ip":38,"op":158,"st":38,"bm":0}],"markers":[]}