Manager: allow setup to finish without Blender #104306
2
addon/flamenco/manager/docs/BlenderPathSource.md
generated
@ -4,7 +4,7 @@
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**value** | **str** | | must be one of ["file_association", "path_envvar", "input_path", ]
|
||||
**value** | **str** | | must be one of ["file_association", "path_envvar", "input_path", "default", ]
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -55,6 +55,7 @@ class BlenderPathSource(ModelSimple):
|
||||
'FILE_ASSOCIATION': "file_association",
|
||||
'PATH_ENVVAR': "path_envvar",
|
||||
'INPUT_PATH': "input_path",
|
||||
'DEFAULT': "default",
|
||||
},
|
||||
}
|
||||
|
||||
@ -106,10 +107,10 @@ class BlenderPathSource(ModelSimple):
|
||||
Note that value can be passed either in args or in kwargs, but not in both.
|
||||
|
||||
Args:
|
||||
args[0] (str):, must be one of ["file_association", "path_envvar", "input_path", ] # noqa: E501
|
||||
args[0] (str):, must be one of ["file_association", "path_envvar", "input_path", "default", ] # noqa: E501
|
||||
|
||||
Keyword Args:
|
||||
value (str):, must be one of ["file_association", "path_envvar", "input_path", ] # noqa: E501
|
||||
value (str):, must be one of ["file_association", "path_envvar", "input_path", "default", ] # noqa: E501
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
will be type checked and a TypeError will be
|
||||
raised if the wrong type is input.
|
||||
@ -196,10 +197,10 @@ class BlenderPathSource(ModelSimple):
|
||||
Note that value can be passed either in args or in kwargs, but not in both.
|
||||
|
||||
Args:
|
||||
args[0] (str):, must be one of ["file_association", "path_envvar", "input_path", ] # noqa: E501
|
||||
args[0] (str):, must be one of ["file_association", "path_envvar", "input_path", "default", ] # noqa: E501
|
||||
|
||||
Keyword Args:
|
||||
value (str):, must be one of ["file_association", "path_envvar", "input_path", ] # noqa: E501
|
||||
value (str):, must be one of ["file_association", "path_envvar", "input_path", "default", ] # noqa: E501
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
will be type checked and a TypeError will be
|
||||
raised if the wrong type is input.
|
||||
|
@ -21,6 +21,14 @@ import (
|
||||
"projects.blender.org/studio/flamenco/pkg/api"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrSetupConfigUnusableSource = errors.New("sources should not have the 'is_usable' field set to false")
|
||||
ErrSetupConfigEmptyStorageLocation = errors.New("'storageLocation' field must not be empty")
|
||||
ErrSetupConfigEmptyPath = errors.New("'path' field must not be empty while using the 'file_association' source")
|
||||
ErrSetupConfigEmptyPathOrInput = errors.New("'path' or 'input' fields must not be empty while using the 'input_path' or 'path_envvar' sources")
|
||||
ErrSetupConfigEmptySource = errors.New("'source' field must not be empty")
|
||||
)
|
||||
|
||||
func (f *Flamenco) GetVersion(e echo.Context) error {
|
||||
return e.JSON(http.StatusOK, api.FlamencoVersion{
|
||||
Version: appinfo.ExtendedVersion(),
|
||||
@ -265,11 +273,9 @@ func (f *Flamenco) SaveSetupAssistantConfig(e echo.Context) error {
|
||||
|
||||
logger = logger.With().Interface("config", setupAssistantCfg).Logger()
|
||||
|
||||
if setupAssistantCfg.StorageLocation == "" ||
|
||||
!setupAssistantCfg.BlenderExecutable.IsUsable ||
|
||||
setupAssistantCfg.BlenderExecutable.Path == "" {
|
||||
logger.Warn().Msg("setup assistant: configuration is incomplete, unable to accept")
|
||||
return sendAPIError(e, http.StatusBadRequest, "configuration is incomplete")
|
||||
if err := checkSetupAssistantConfig(setupAssistantCfg); err != nil {
|
||||
logger.Error().AnErr("cause", err).Msg("setup assistant: configuration is incomplete")
|
||||
return sendAPIError(e, http.StatusBadRequest, "configuration is incomplete: %v", err)
|
||||
}
|
||||
|
||||
conf := f.config.Get()
|
||||
@ -277,7 +283,7 @@ func (f *Flamenco) SaveSetupAssistantConfig(e echo.Context) error {
|
||||
|
||||
var executable string
|
||||
switch setupAssistantCfg.BlenderExecutable.Source {
|
||||
case api.BlenderPathSourceFileAssociation:
|
||||
case api.BlenderPathSourceFileAssociation, api.BlenderPathSourceDefault:
|
||||
// The Worker will try to use the file association when the command is set
|
||||
// to the string "blender".
|
||||
executable = "blender"
|
||||
@ -336,3 +342,37 @@ func flamencoManagerDir() (string, error) {
|
||||
func commandNeedsQuoting(cmd string) bool {
|
||||
return strings.ContainsAny(cmd, "\n\t;()")
|
||||
abelli marked this conversation as resolved
Outdated
|
||||
}
|
||||
|
||||
func checkSetupAssistantConfig(config api.SetupAssistantConfig) error {
|
||||
if config.StorageLocation == "" {
|
||||
return ErrSetupConfigEmptyStorageLocation
|
||||
}
|
||||
|
||||
if !config.BlenderExecutable.IsUsable {
|
||||
return ErrSetupConfigUnusableSource
|
||||
}
|
||||
|
||||
switch config.BlenderExecutable.Source {
|
||||
case api.BlenderPathSourceDefault:
|
||||
return nil
|
||||
|
||||
case api.BlenderPathSourceFileAssociation:
|
||||
if config.BlenderExecutable.Path == "" {
|
||||
return ErrSetupConfigEmptyPath
|
||||
abelli marked this conversation as resolved
Outdated
Sybren A. Stüvel
commented
Add another Another solution would be to use the Add another `case ""`. That way the dynamically generated error below doesn't just show `"unknown 'source' field value: "` if the `source` field is empty.
Another solution would be to use the `%q` format specifier in the below-suggested call to `fmt.Errorf()`, but that would _always_ put quotes around the value. If that error is then subsequently logged with something like `log.Error().Err(err).Msg("whatever")`, those quotes will get escaped and things will be uglier than necessary. So that's why I think it's nicer to handle the empty string as a special case, and keep the non-empty-string case without quotes.
|
||||
}
|
||||
abelli marked this conversation as resolved
Outdated
Sybren A. Stüvel
commented
This function could return an error instead of a boolean. That error can then not only be used to communicate what is still missing, but also cover this case. That'll avoid the need to pass a logger to the function. This function could return an error instead of a boolean. That error can then not only be used to communicate what is still missing, but also cover this case. That'll avoid the need to pass a logger to the function.
Sybren A. Stüvel
commented
Unfortunately Gitea does not support multiple comments for the same source line. So I'll reply to the previous one, even though at this line number there is now different code.
This should use Unfortunately Gitea does not support multiple comments for the same source line. So I'll reply to the previous one, even though at this line number there is now different code.
```
return errors.New("unknown 'source' field value: " + string(config.BlenderExecutable.Source))
```
This should use `fmt.Errorf()` instead.
|
||||
|
||||
case api.BlenderPathSourceInputPath, api.BlenderPathSourcePathEnvvar:
|
||||
if config.BlenderExecutable.Path == "" ||
|
||||
config.BlenderExecutable.Input == "" {
|
||||
return ErrSetupConfigEmptyPathOrInput
|
||||
}
|
||||
|
||||
case "":
|
||||
return ErrSetupConfigEmptySource
|
||||
|
||||
default:
|
||||
return fmt.Errorf("unknown 'source' field value: %v", config.BlenderExecutable.Source)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@ -363,6 +363,27 @@ func TestSaveSetupAssistantConfig(t *testing.T) {
|
||||
assert.Equal(t, expectBlenderVar, savedConfig.Variables["blender"])
|
||||
assert.Equal(t, defaultBlenderArgsVar, savedConfig.Variables["blenderArgs"])
|
||||
}
|
||||
|
||||
// Test situation where adding a blender executable was skipped.
|
||||
{
|
||||
savedConfig := doTest(api.SetupAssistantConfig{
|
||||
StorageLocation: mf.tempdir,
|
||||
BlenderExecutable: api.BlenderPathCheckResult{
|
||||
IsUsable: true,
|
||||
Source: api.BlenderPathSourceDefault,
|
||||
},
|
||||
})
|
||||
assert.Equal(t, mf.tempdir, savedConfig.SharedStoragePath)
|
||||
expectBlenderVar := config.Variable{
|
||||
Values: config.VariableValues{
|
||||
{Platform: "linux", Value: "blender"},
|
||||
{Platform: "windows", Value: "blender"},
|
||||
{Platform: "darwin", Value: "blender"},
|
||||
},
|
||||
}
|
||||
assert.Equal(t, expectBlenderVar, savedConfig.Variables["blender"])
|
||||
assert.Equal(t, defaultBlenderArgsVar, savedConfig.Variables["blenderArgs"])
|
||||
}
|
||||
}
|
||||
|
||||
func metaTestFixtures(t *testing.T) (mockedFlamenco, func()) {
|
||||
|
@ -1539,6 +1539,8 @@ components:
|
||||
- path_envvar
|
||||
# The input path was used as-is, as it points to an existing binary.
|
||||
- input_path
|
||||
# The input path was not provided, use whatever blender is available, without checking.
|
||||
abelli marked this conversation as resolved
Outdated
Sybren A. Stüvel
commented
Add "…is available, without checking" to make it explicit that this will forego any checks on the path. Add "…is available, without checking" to make it explicit that this will forego any checks on the path.
|
||||
- default
|
||||
|
||||
WorkerRegistration:
|
||||
type: object
|
||||
|
392
pkg/api/openapi_spec.gen.go
generated
@ -50,202 +50,202 @@ var swaggerSpec = []string{
|
||||
"BuciksMrrrQjg0DX+7Gvi2nOsnC9jZ812G3PruspYhu0VOWE6sWzBUsu3zJlNfmW6cFoNd3Nd7SulZM3",
|
||||
"9MIg3HdC6u8tM4jeAhDK45cM5XXAyCVVaN4wmDfjIsVZHB+JDqwucNqotQTlqgXzC7X8SpaGOI6jkhFw",
|
||||
"zOhKYRC/0JmsRBpdk5JVmWwUa4IjOcUP2keKQLMr8sOGex7aA9tw5C+5SOsT3wr/ehAmYhXq7uPoY1Na",
|
||||
"oUrJhFONdN/s5oKJqytaDixi9EspzvTZOQ/7gJTM6Jkgx1Oi0M5mDXZA7z6wpNJsk0m2397p2Ufw2ME4",
|
||||
"TneCT2LH8qIsZdndz49GpeEJYeYxKZkqpFAsZjxOI6j+09nZCUELJzFveB3BD0SODb9OsipFUxBeilUm",
|
||||
"aUqURKz2AMTVNmCbZXZpXKAtlkujOz8zkz3cP/Rcx9tPUqrplKI+Pa3UynAnRmChblGWeUmhKReEkntv",
|
||||
"mS5Xo6czzcp7+OqCUTDRmOVxkfKEaqasEQ61cM1ztCmYo2DKK9gl0yVn6Zi8BG3cyT52QK5AOjJoQo0E",
|
||||
"7gSGe8ryPfNuknEmwDSUSqJkzozyO2+onEZmYx/w8nCakSlNLuVshhzTG62dvNq1mOdMKTqP4V4LueDc",
|
||||
"6/ejmHXFhH5Jy/x0KzN8/eZbZviYH+JnOX1XGL4f1YgU096APSQGO8CWQU5lcsn08Zu91/92doZogCIu",
|
||||
"CifKHERJBFuaH9WQTIqSXXFZqQvE24m3P7EPiKYIxLbIljHNLuxZs/SCRrjK8czqzBkDjmWotf/CCk/O",
|
||||
"ysNzpjTNC2KoOiKUwTWHTOZTpWWJ8tTLjOZMJNIz+uYxG5iNzIhRRhUhYu/eHT93UuDP4KzY4OeoRavm",
|
||||
"QL/QPNRSYx+2wL0JO4y85X00odfHa0wP92MIXbJZydTiAmzckaPxd9iLoPaWqQXYze33QHDsbu4ptJjX",
|
||||
"8i1gHWo8ylxYA3g1NEgHcmtKQdVhNFkA0bjiaUUz9NYtYRZvQNJSGiKwcoNYq3lR0gSseb3mk92B2O/j",
|
||||
"gqkj6HHmkVPOSEaVtqvcGueWVF3gjUl7nEl4RQ2WvzcavX25viPmtmtJJrqs2MQqKPZJbaEDpREsrTy9",
|
||||
"V9vKFdNDS5nNTXK3Oy/0aivrJlwAB5zAgWfdcoHjrol0vbTxFVX6rTXo9lE4i6CyrBHUQL42BPOczmv+",
|
||||
"6qBnlxmX/LdyYQ4HelHlU0F5tgVahVs5NisCZ0xMJ8C5qLq0//KT9IOJz9izVRITqT0BzPiMjRLzEmFX",
|
||||
"YHCw/gWjPQJXVIsKLQ6pXIqhEU5K+LMqhoTpJEbctzEn+sXBUlEzau261/aHn1B1+UrO+84fnPuZnJNk",
|
||||
"UYlLy+C0JJQAX9Oy4Mme43WklDInKUOaluJ7VoYyIB/CL1eSp2acFGSQFsGJwSGTEYvBM7MeR+O1XeWY",
|
||||
"vKYrL0HlVaZ5AWKJYAreZR90VEVxCLGWJUEYxHBH33uNamYba49hGynjDMC4QcwAcHTkDKAG1xU0DP2/",
|
||||
"agY6bM/LtwPccBfisJnva5z0cxl/MzrjOt/cFD+LsQdP4azyFWEX/iR7cRG1wjPaSxTwBXJG5xtQkWuP",
|
||||
"hjH6hpbAdZD0S9mWfYMNcEv2vZnl9tnHAjBtc2nxzY3XdolgXQOxhIoLIz3QUq+z73BlpwTlj1ZajuxX",
|
||||
"cROPhVNUeXAyJtrbma41WrtcA207wPiLSf+4/G1ohrk3F4oxEXOvKu30Ya7C9Zr3nQ0kMFJut/bNpGfp",
|
||||
"Vv+5xAfBsCv5iX91gXi1y8fP4Iu3qPvdrGh+xUpl/Q5bkLl+6ubGGTbuSuwONy0DzkAH1BGMiinYE5cU",
|
||||
"4i8M3VQZYwWY6MyVpPa9SlwKuRS4BhDpooa7jnXBzIlRFhB0aReC035q33u1owWjGxmBP0fhYGXYv9Yn",
|
||||
"ECxszsEZeDg+GD1+NJqn6eGD9OHhD+4Mjgb/r6xKd4cGELpTan+Yg8Px4YhmxYLuB2cT/ky+64z9fXf/",
|
||||
"sIqdHCuNZXxci29NTLZg8BqN96DljFote1HlVBgpU1U5fIYyVskyRhUj04pnqQuCBaeSIQ1UkUm4qgmq",
|
||||
"CBJIdv0JRGVZwyR+PZlzPSH2KzA3Rv1PrQOv70EDFP7qGIjGsOFnDKClWfZmNjj623qEO3XeMvPVp+HH",
|
||||
"NTLjWv+J0yqJ+4JI4fXJqLyOYScxO7h5AM49R5G2JkH/9La0axhxdmYI488Qbt2hbxBrP/2GePznTCaX",
|
||||
"GVe633mJjNoa32jJwAgO0a4sJQkrQY0EbQpdnNKIadbSkzjk3Mp/FK7nhdDlKuY66r7UcUiuDw/H/Wyr",
|
||||
"Q9m3e4ho6wTqocNo8B4S8txej3hIrPmV0KmsNMarOv3TSpFOwrTmJN4QL1t8cUFzKi6SBUsuZaXX+zxP",
|
||||
"4WXiXg7CjdwCSpbLK5YSmkkxx+BwFx+yTfBhcy09oIlbqjoLfyFkNV+E3iVgFzRwwhScJYxoOcctpnw2",
|
||||
"YyWYjuEEwXZrviaULCSY7DIQWsi7t6+cSydiyxuTMwnMDUKTMELn7auh+SmhmgmqGTkffJxSxT7tfZTC",
|
||||
"S72qms34B6Y+nQ9iuov5oImWZRalQnaYhmt2Qyx+6yhgqmCknqN4TZVymHrKMpbEI19OvAMTQ8XNsymz",
|
||||
"FP29nCpnq69R2KBLIESBjmJp1kVOPwyOBgf7B4ej/Uej/ftn9w+P7j84uv/wX/cPjvb3u8JP9+tOFGeW",
|
||||
"4ULQGc9KFpJcs7CZLMHL7/hqzZtal28H+hwFKdM0pZoC+09TiNCk2UnErNlgvI3NlFOuS1quSG4Hcwg9",
|
||||
"Jq/NNgx1zdiHMHbO+jhzaXYB8SeV4mJOJnQ8HScTQ9brO2QDaFtnVJQS9nE0OC1Krhl5WfL5Qhtmo1g5",
|
||||
"ZjkYogdqNS2Z+L+nNgRDlnP3hpWHT+EFcqr/9/+6YtmgB04n1lj/zOtkzTMPPUw5/cBzo53c398fDnIu",
|
||||
"8K+Iu6l1DfwgPfh/GkQfxQ9LlxXr+bZfc0qoSMwxYKpQgfaa4WBGOf5Y0ErV/xh56WkwHPy9YhV+CGM0",
|
||||
"nsG/K4bKWGWgP/JUqhnfXWOWX2gfnNF3HQ9vwWdBooCNJ8Dgsi8iQMW1tKFbVt+5aVn2Mg77EDiHj6t0",
|
||||
"IfpeyDQXplIQ0IhMz7yFHIKlZMYzppANC5YwpWi5ipH0FsuLGtDvPXP89vj5vSAmAoQ5F4XQZs1hLtCY",
|
||||
"POVGNxK4UvdJjI07y5QVGxw7n5Uy91vvU55igD6j6lKdVnlOy1Usiy0vMnD5kczKk5jJ5KA+Js/QE4Hx",
|
||||
"Itb+7iJRzU/ukMA1a56PI0ZS6zjeSswEy7Nd8BYRcr2sUf1bxXDPIRvjudHDHw4HeUDm+wjnp+EA8qsu",
|
||||
"pivIQbQMDAKUa3OEtU1x0SAhng5YovFblyniWj7W9PB+PJ7ks/nRS55po6LX/GjouMur47+8qJlLNO1B",
|
||||
"zmaKNRcajROoQfVxhwxEtSUF79tRGOS6y66CU2vfirdMV6VAczHIJCBGU0c9uRVAYAu7aE/twIEAqfsR",
|
||||
"uC+sE1B/2zuFxo1r3qWIfzbgmRihXo7AdFgVg2H9y6LSqVzG2Zo1ETyTYsbnVUmd3NrcJFcvean020ps",
|
||||
"8BVwBfI+RyXAENCZ+bAOJbPzkbISQdSJT2EDgYuSGVuSGTWkWA2Jjd4XUowgz9PoJUm4XmAyRiR1arYP",
|
||||
"tp4yiFbJC21IunlLL9jKCtniniZT1huGAnwE0wHTrbRBWIUuqVAzVpKnJ8eQiuKCjcc9wS7AYl/JhMY1",
|
||||
"hueeJQG/M9zM3DSYy3483mjyaM/S3t0wPOAY6tlT+ystuQsIbiPIhV7KJY3wtjeCjZZ0Ra7sxxgCD3mg",
|
||||
"UmmIKJXmktuMQ0hS4ZAyWDLIJc0hJMkw3slHIxl/mliVk5eY4+hEkgWk9SjnA3PFBHzYs/OejcnZUkbW",
|
||||
"BAZTO2naSe/w0g+zyy8yqo1+M/JWHMzyBXHBDjJd+UX3IRp8tNloYo2tNaDdl1uc19Mq5Uw0w4etvcqq",
|
||||
"HGodcXDDqHWsbx3Za6NPhzG+pkVhYAyn7A6FmC1D6p72CYEck/ojG179hbHibSVEtExAHRy3DC6udePl",
|
||||
"dEUuGSsMURJOKIyLUHlnnu6B1opAj1Tf8IXFiEsrlI829YXaSOx10KXF62Mf7AcS+YKRydI74diEWG8T",
|
||||
"JqzUecN4fcwkAO+5NP8V7INuhKWhq3tIJk0gTMjrd6dnRmeeQA7mZKsItBYgPdT6YBTDch9Bf+xSIFqa",
|
||||
"r003WH+xWgHykeFvPaPjqyVegCbE0s0cxeZNbJcu8ZbNDdsuWWp98R1I0jQtmVI7Fkyx9Dd+0+RML2nJ",
|
||||
"1lzDnX3fLinpwhut1W4y9meVXLEMwIEqLLviADEcJJg6e2EjljwUelYfO61TllQl1yufTdGigNuG1a+L",
|
||||
"pz9luiqeKsWVpkKj8BlLRAmFPDk1sp3TwUHuMqMQP0yXWlvT2gvIVKFb5EP3p+Z8LUGtu4UoPEGce9br",
|
||||
"uzjF8CFrjLHOCF6S05+eHjx8hNdeVfmQKP4PyC+eriDs2whktmoCyeyiXIpL12rSMoPCbOD4RfIzqDPt",
|
||||
"x3OJQujgaHD4cLr/4Mn95ODxdP/w8DC9P5s+eDhL9h//8ITeP0jo/qPp/fTRg/304OGjJ49/2J/+sP84",
|
||||
"ZQ/3H6SP9w+esH0zEP8HGxzdf3DwADzHOFsm53Mu5uFUjw6njw+SR4fTJw8OHszS+4fTJ4eP92fTR/v7",
|
||||
"j57s/7CfHNL7Dx/ff5zMDmn64MHBo8OH0/s/PE4e0R+ePNx//KSe6uDxp64hwUHkJEptza+B9OgUIcuv",
|
||||
"w+IHbhxXXsV7W6ynpW3iAhpOlVeK0AscBiSRY0GwIov13ivnabFjYVSTC3YzD879dsjx8/MBGpucyu1D",
|
||||
"CHxOEMVVgK42sXackcqq+R6U6RgZ6rWHpS5Gx88nPXmvFmW21KZx7S95xk4LlmxUrHHwYfOYNt+mmvvH",
|
||||
"7LrmGVrpWqcSqz11DfSwjuo2YoDibEFfe+v0ggrrB23GElDVGBQcNTZfmboCJPU1JmeBdPH5yLdFiMmW",
|
||||
"R+KPukvgrApGndRFkfJaWmUXHdDhuKTYcu3Lejw0ZdQjet9stOYQjaywSWrDMaNjAJ352DW3sSaNHmx0",
|
||||
"3ZjV2PGG/cJuE8C/cr2o3TJbgdop4YnzX0ZBP7Ri6pCkrLBx+0BHnE/kGz+bbWXP4Dh6/DudUx2ui8zr",
|
||||
"jBdYAuqww6rIJE1RH8NwoqhZAAd7i6uBQj8urvO6ggcIGg3Y9coSNyQ03IqAcAvsrf/wm+eFacJxroan",
|
||||
"BWI2JWXwmWMpw/AorW1CNq87K6+M3PGSZyyIiQJEM5zEvmZ+c6kitVwfpmjfFg7UF9Pfh5tBi3Aif92+",
|
||||
"MK4E5PtzsQbrazYJR9tLjOe/K8/9UoRwLdErWXq6SXNrsxIFn9Uci6ZGKLY6XRCzR61VlZxX+/sHj7w9",
|
||||
"2EpnlTKY3zE0a2kHjMyFwpS/B1aAuqea7o5oTlVg4d3BEusNw5+GgywA0I62lltwlbROPas1ZL/1hiGk",
|
||||
"uaYodti8mdNquqZW0SkTYMX3eYkYNKcgCHtPBd9OMF3T1o7T0taMclQyeNM8fC+nPk+RPHNjYqmrOdPh",
|
||||
"c1S9wNRL1aVPp3Z/Z3Ku0K0lGLOVOYqMJ1xnKzftlGFcOThWzKPV0G/EaBGYkePeNWNIgbEP30FNQN2c",
|
||||
"euZyeN/L6ffAu83r5pV7CjI8wWitec7G58L5+ITUaBqZriDhE7QSy0eoJkUptUxk5moneWihbwaB6QtA",
|
||||
"Q67TtJSQC2VGbsZkNC+HLDZSmQguvHG28m3L8cUGcfWFnOWvP7AaC2Bo2TyGPVKJ+gdDGcY7p43KYl3V",
|
||||
"vvVbD8REvwyImar/ikqIfaCIEAeqySUXqc2S2BoGPlYsy36WUwjbzrJfvVPLlmqg6jKTc3wYhsuGr5/R",
|
||||
"edz91chJiJZKqy1aQbkvLWtsbEow28S6fH6QoH1w+Pv/R/7r33//j9//8/f/8ft//Ne///4/f//P3///",
|
||||
"MLsf6kyEcR8wC2g9R4M9DOXdU7O993Kq0Ixz/+BwDC+BGaUSlxco1xwGOHnyy48GRQs1ODJiFVR3NdLO",
|
||||
"/dH9faygeAGpa2ypfNVOiBbGqorsg2bC5vaMC+saMiu5kJX2BY0a68Mp/Ar34ju35R8745VS6rXj2Zqe",
|
||||
"WEzwouaEg4yL6kNw/cBrPbJHZUOhuzG4gDA0u06xkBB/Nnzko2e3LTm/ofhIiCab1uterc3mW+2yjkTs",
|
||||
"AXgnsgDJlJgTtVKa5XX0uP22VbYPIhQTORdcsa5kZl+uA7ApyeSSlaOEKuYtnnYKtygbnXKOuHA+GJLz",
|
||||
"wZKLVC4V/pHScskF/lsWTExVav5gOhmTUz+VzAuquS8j/6O8p8ikrASw0B/fvDmd/ImUlSATcM3KjKRc",
|
||||
"aQgVnBDLoKmPHHQVnP0i1fhcPFVOdKUZMTsaNvZBzl240PnA2RVtNXw067jYbqjIWJSQXEEVOR80BVU3",
|
||||
"3vmghn0ulRFFQCK6ZEQzpfdSNq3mtt6lIowqDpUlrSDjQkrR8c0TksoEKgpD1kyWNXYWrcHQl9VifrjY",
|
||||
"vm7kkCSy4KFuOmlXDxyb0Sa+YHG38uSZ/avODDF0n6WEW9c6VnVJJVPiniY51QnmitBEVzTzI3Vs+mdY",
|
||||
"KBmkTtUuSAl4JLM0iMlr1tdvFx319dVdvZVzcdxYIFdE5sjihrWZDWqQrQqqVKuwdic3KAp0m1uu6Ryl",
|
||||
"QHv7XG25OnA3yMk/fu6jemyBHMv2UfOkmvjqnVNGDIlJqwyvv1kK2hshsgEDw2QZbMxgl0vlMmjovvAr",
|
||||
"aebSbSWAWc9tt7hOhMjFRLR4z5QzV6wEu6RAaJxyyrez9LtScUPCx2zssjd8hE0QYTXerU7Hl+y0chMZ",
|
||||
"mBjtezFdXbhAp13inm2cQmStW+bD7VB+BHJytKwMnm5IfsTANrHy9QfM/6V1Jo4NWdqt9sDXb0RzU4mf",
|
||||
"jvTscuLbJou2q6PEeuCEnW78ZdrQ9MbWUNqY7QgZd9I2vAnqIn1Wmay4Y8MQGrDNtyokDRvG+i6mBIWQ",
|
||||
"Ns5clVl84ndvX4U5z/XshGvFspl3gsqlyCRNtwlequso+VPEBELYf9+pfEaaks9BUHKmR+3spZjqWU94",
|
||||
"l9KNwlt9jXyjMKOkq05XShPWTVWt0R2Tp2WjUntdwxDE3y7271gD6i4Rw+vmtm9JkdxMfSe1rowbPvP1",
|
||||
"IiFm34ly0lJpVMUQ86yFHEyVQLHgxKAmLIp62DXHSPb+9MDsJwuMNf4Tkda60nqBzwWUPfgO5BvpgrUn",
|
||||
"jt7akmRCasJKaoNifW2IttRulvX9pppl3fD2jAvbZMQG7kIQxj1FEt/JAmPTeZgLDuSavLli5bLkmqEs",
|
||||
"z2WloDqSCEpYuKTVqPgQq2j3Ss5tpTpPA7BonpOKXQMMs2g4FZiQ0TLjPdXAdYME7kAloshVB4JG9YGS",
|
||||
"QURLwkAnBOWdCwzox3EicQLrYkg/jwqsuWRu0tglqve4XQkUG2/qU+46ORbFRbDHlmRwQuyzTtmrtb6c",
|
||||
"7Qwq/WN9fkysprFmQmcUKYXj+3UZMmjvkrN8ini6lUjfKP3WXQBqV9sMoC63I7nBUTW8UkEpnWg47qff",
|
||||
"hpF8/C47dNS2RrNX2xQn6V6aXZWjNo6udy670ftvB4aGB86G2lhuzdj2l5EvhBYxwCqWlAw4pRwJqUea",
|
||||
"ZdmIipUULAyCPhocjg/6YH/0NxdrayS3WV6wue39M6qbvwyGg5yrJJJEes0odbvwj1/+ZrXlM5yp6SON",
|
||||
"TWGRuf/ITvlcvGkfVqOaoDXq2wN8enIMzVyCk7ioy3epJZ3PWTmq+A0dTKvOYTc3or/wV2e1N39MjpDE",
|
||||
"T6azojWnlDFWnFrbV8StbR5725iLbEA10iXJnRqYgXeXiRQzOL1844pS+YzzlK6aepof2xBsUJTG5GlR",
|
||||
"ZJzZApCYYi/NhxzsVpOUrtSFnF0sGbucQKQgvNP83bzsCl1HVggyoSAHD0YLWZXkp5+OXr+uE5Cxi1KN",
|
||||
"tuHIg6NBLomuCIRggIcxvQCp+2hw/4ej/X3Md7FKn82GBrxyb+0/iRZdaU7SDaekCRspVtASA32XcpQx",
|
||||
"6Fvliu9YqEPFZ7pCvsjYZQ+YyXfng1yix0FXztnw/Zi8AGtnzqhQ5HzArli5MuO5Ejvd9kp+/4HoBADt",
|
||||
"SVpyoPkYr+ruAbV5uDaP9WMPm9BsjBuseM290FSzPp3a5qKXYWbe9hlCUY04GGyrRaV91Rzpkl5eu5zj",
|
||||
"FgvdsLym5cPXpxzadQU1LaGXiTlSpuwrcjYzyggYB9pFNGsE6q8WGikMgGXvkGzViqfNj6yjiaFCr61N",
|
||||
"HbENqIuM/mO1PmKpmXpp/ROozYU9JYFc1R4WlFZqDdAqvIrMuOBq0deEdPgFz3Po97fmZPusMX+miidr",
|
||||
"BM/xZ9QTXu5ST3gXI/pXKd37pZILv1hh3W3KkfriPS3NqvTpuNewM21fL7fWx2KKX6iwkKforKTCm4Ky",
|
||||
"lQ3BXDlpg84J14HjHgq6gG1j7F2D1kxcGIFBzup6/kb9JIqbv6lgYHzpSgkdjaxR7NEMnUry48k7gjEf",
|
||||
"3srz4sVfX7wY1wVufzx5N4LfIkJCs2HiznU5NZ2PyTPbANl6M1vVkagt3Y+Ge5utQcHNXlKRypzAgN5E",
|
||||
"pBSfC0epvpDtZINucUbnW5L+mtp7JFAdO4HdgUGE5olqOr/gKegWDw7vH6SPfkhGjD5KRw8ePno0ejKd",
|
||||
"PRqxJ7P9J1P24IeETSNqhR8hEPU3tyFZJ/q7EddCx6n5ncXsqsJHjSGf1kyNRpLtLFnN0lEfr+uQirdc",
|
||||
"iRhJztAN7k87YFOfUMuGjGajDuWh3eOCVrHconeKlVB7wlbftSzj+PmQFFSppSxTX48Z1GpbYsToP85+",
|
||||
"WZs1DOoBYICzGb5a73ShdTH49Am6OKLDDxqOJDowgHhafcZobl1V+KU62tubuUjDIEJwr1tgA+MeyUta",
|
||||
"5jaUFsKuB8NBxhNmM0E8lXp1ddiZaLlcjueigvHtN2pvXmSjw/H+mInxQudYopDrrLHs3Bf0rrX+++P9",
|
||||
"MWhKsmCCFhxMM+YnzGWCI9qjBd+7OtxL2qWJ5mgx8bUsjlNo8qebNYxA2IQ0EhjtYH/fgZcJ+J4aZRSj",
|
||||
"yPfeW1caIvCWQfTN+eAUm0AXBr0zn86CuOgkLrNiDKNpZrnPOv1O8Xb/DaL/gBLVY7wQaSG5rSU+tz39",
|
||||
"OwN26kEbyEfBuwcxPXvO3tIH7JdcpH/2ieknmH12Y+COd9uMwPulrESdpw56su9vCi/bCMcvtC4skBBZ",
|
||||
"x6nvZ7g0ov+ylGI+bp3+S26j5mVJclky8uzVseuuiV4bCIBTZEkhdA6EKbedGFIUUkVOCpKYI0cFTPTP",
|
||||
"Ml19MWi0irFEwOL6isrSOv0gBAkLkEiMJsPyOTePR43iDt2V/tK8uENcJMa7wZHOuGB3D6f+SjMOnlca",
|
||||
"YtN1kKmFp9Z9e1WP71qp1we5kahgqtMoiAheg7KN1K2virUnt4af/xSIiRluNUY2E+A2sLsdxulFRkxv",
|
||||
"2FKKeIkZ4J915DuUQ/40bIy1onnWHKstIG9CkPZBvIXOvVcsLnh05YS1p/E0SZhSvqNvpCJjZEgSpoPh",
|
||||
"xu6Bc/9NwcTTk2OX7JZlcmmblkDIuaDZnpUk7YFOSEGTS3PY56L/uBXTVTGirkZQP9k5pVcsWpboZghP",
|
||||
"dKoo0wzBamg3vUL0biHlg0gfqRYyQCj6kk1pUThrSWp0pVmVZXV3WG2rlRm58u6Rknd1bFFPeixWLbLm",
|
||||
"J2idI2CHKzKrRII3Ecq7b0BvgxAxzO6tPtWPgw3Ot/fRZax+2vvovLGf1pGkBjNstkE3mjg3sLMlIKwK",
|
||||
"F+TE1hq09VjtouJ084SNOh+ZMPAq90/Ypl6/3SAzjed+704xnZbWStTOGjnjYW+nRra4+dLaBlyyuEFO",
|
||||
"nymOToAd9bt1y2nUJ+9NIO9HVZ8NtTuW1lVC/xtDr7EB9RnIWVcXaJsPyDtVJ007oZ2m6QiZyZp0OCSj",
|
||||
"vsAom2Lq14xCoxjDOGJZJGRKVV0BalrKpWrkhV0f4+s97o7jrkZ3D+eHLBxsbHUjrL7R2qx7yD/Lqc15",
|
||||
"zrnuoOdNahxrFgT+scpIeMg7bbqYEdVsnGvQ+l0BtB/cP7h5GeHMU1SfF8c0nUP6HMiUdf5c84Vo9hzH",
|
||||
"jtrZiqSVr3Bm2yIlNFk45PNDwX2QkmRGNDkXtyoewQPiymo2KQHimHXxQN1JWXbuCNaGgMy6UPbBgvON",
|
||||
"4X5uJhMyeyk7lwpV+y2uFui1X/d+JcES1l2vB/FU/x0vhE/7NFQUe3ksjED5y5szTLO07fpsHkOdp6cX",
|
||||
"spov/vtC/VEuFKDVhusE2O/3bUYCUxqUYVlyc+K6dtPyyDVr9FbrN8sznSx+zOSUNmpdQC7ZzXKReCe6",
|
||||
"rQSaYfzKnbmefS4vGm4PFaton7keuQi600FaMSuvbA/UyOdqw/G9gcrD2GGnTkeaA6B7ltM6v5wqNcK2",
|
||||
"aLhV96/mAUIHOWbbyd0QtextVhe1fTbb1TXrxWObOGnbvY2vTVoVtpkLiWtOIbHV3BTXHtVSxEe3QhFL",
|
||||
"hmsSMmiGVxNCey7jO0OtXtPyElcagmxYS+OuM0pScs1KTjdgPIyXm9u206DIA5y0UGdeYSUDwxQAVRwl",
|
||||
"tJWtoBiaOXHze9489C7JhUGLUqLtccH8uz73fUqTy3kpK5GOz8UvEuajeGcn7QaIE+JVVYh/Ml+xlFQF",
|
||||
"yEpC8xJ8/FKkrj5IThE90WvXAQ/W4F3JirAPBUv0EMs8MF6SSd23alJntCtbv9coaRnuiUJrWJi1ZdsE",
|
||||
"YvJ3108rLnNBtyJbEumGCIht6RUz4bWLwzZJxZzp8W1rOI32Tf0sCaAaeFZswBiWiIDSKnxmkBlEGCAF",
|
||||
"tsERfHh3SAEIAb4WjAH8dtytbrA1g55eEDEmUqIkRPp2eZoR3/Y+mv/+QnO21jRkS6VsZRhyA94ZO027",
|
||||
"4EuvioHP2nKITarwAq+BKTS08ZDYcD5B0n+zYTTWl4mei9riNNTgFoEWtW75l/xuVASAASrb1tmgUgFJ",
|
||||
"3RqI9VSeofjxuiD8iKFmn7aS1bbCal9ooB+nNwXD/baNOPUcSVBAxzxj8gV+dMnncyOt3i7ReieQI7KU",
|
||||
"QIpA1zeJkZ0BJ0UVYEi4SLIqReVIWW0aeoUZdUDOsWAxqty2aJIfxLBrF63fEQ/IL9I36VCd3uHfrZj+",
|
||||
"vmmw9JjVr399VYy4FdMgR92uy3RaCpLrdb7ezIQfiZQEyXx993Fv2uzDH7+Zb6FXa6Nr/20eyI1IXPVW",
|
||||
"YgpLVRj8/Q6DT4e2UMaqYN8bmStoRu99lx6OW3qS3d2kScIKqJPFhC45s0YtICt2krtGVKAjsVutrWlu",
|
||||
"7nwAgl3v99fBq5u76GuRC2wpaxDMqFZzqRGeQTEquP13CRWQRoEJqJkVX5end3sANEklBNNaHddvWTV3",
|
||||
"uF7qwAgZj2rePeeAE6dyO1j72rY3NPV9C0j5BzcpNo/6GubF6KCNZub9CKSYDusW9fhmQBM4qYsD/cFZ",
|
||||
"pNuJTe7tcXUItiQONtc0WbqJfAISVZ4xopXy4KCvLpdr3OmW4CLh8HsfR/uVieYaZPWSQL0FC4ZmvMtG",
|
||||
"BK3TJNeh56kvYvXHRs5GLbce1GxmGkN0hjUzXwtNTxvDXQdJmwuymAqeK3/YLr1Z+SYgXvL/g6Bxc5O7",
|
||||
"IDHooRvZ8xm89W3wZNiLT+yLy4oIY85UWFNNdSSfOyYWUrtuqARHsyxcdQMbtpH34juOI9FyQfVoKass",
|
||||
"tf7BUSp7ccrbnH5dUP2r+ehYP/9WBD7nkeyT87DfgjXrRGwQBvkCGQrbILqUcGfTgYxoHAUiEVx5aRet",
|
||||
"gUVFh2BnyuTcRsH1ymNgMrJdW+pZ6uHQsASFDIV3f6UkkcLlBGQrNwVXQXtu631wZeuxsyIKnrLSPUap",
|
||||
"LwOLEFexi86ea6i3h5Vw1zDtZh/aG4r3aU4S80KFXedcjAaxTTlvz/kU7SMai/F3vTShBbdt+Bm4w5Ff",
|
||||
"7z+5eWLpV0KzktF0ZauKW4Hhwa363vH0IARNzCGQlUxUC6J1a7pJcE0Q5XmyIFJY8/6tsZuqxW5aROoZ",
|
||||
"tvmldbdVvP5qlWdcXProAui4jBDA+DKNRMUCpTKiS5YF1jfsJYfUwjbZssXeE5pl/oLXkXw1/UCgtrMf",
|
||||
"7IIoUeFlgsU0uj/TktG1NCNsILgt5QhP9kapSKyJ5bYE5SvQkmgPx9h6q6k9NmjyIUGcDw9iGBYVM+/Y",
|
||||
"pofWlXKnrgz0CK0bLIcwsJ1nMeGnkKVW9uLXjNdubCPCP8WMM+qiFT3baA/o29S5CEjsdYmrqMkOvKu0",
|
||||
"ERD8Erq3BIbd++j6oH7a+wi/8H+scaiHLRFlyVxobUsG3LrDLVRR7QqM7tWd/PDDzrxB3XjXHNKXjI/M",
|
||||
"6na/zax1w+PfbvziddpgbmmIvFOXKKxnVrfrjDZubQiYwX1ZR7w9Rv5zI+MwZlSxRMXVz7Q+B9s+P2Uz",
|
||||
"VhLfDdY13clsxub54GD/h/OBR6w6rg6UCvDv6aoUTqSvt6e8HIdhlb79bufAMRKPZkriGErmTApGWKZg",
|
||||
"nLqQeWyZgC0AwAWjWFLAgvD/GeE0o2dUjJ6bfY7ewQCDCAyDZp8xGMqSz7mgGcxpxocePlgpPZNhZXXf",
|
||||
"ppjroHGVbTPMQ6ptlTxXDEsQyuEN6E815xiTvmlvb+zCRi/twgYbY5W2kWdkopkeKV0ymjcphNfUp1yY",
|
||||
"+z3cnBj+DOdQrd7m17ArOjG0a1I82P9h0+sWHRuIaEkOxvc+jo5Q2s+NOoBhuFOml8wiuwVnEA3ktXYb",
|
||||
"DjLzvdll2aE7XnR2uAzKzsNIOyK8xC51ev2tdTewvjkW8VzsqpyRKTMf+vmnq8a9Q4li0nuFjog5s4kt",
|
||||
"ZQjUpRGdfMvZFBs4EHAGm0/Rz3dIM1638RDu50yWCZ9mK5Jk0nZz+Ons7IQkUggMZHddkiRUnLSE15bd",
|
||||
"VI3zYoR9oIkmiubMSpJauo5qJJWVEfLwAwWNbPEtTDXE21QXHYycAJnKdNXLSsOcdjNFrV10wdKQHL3j",
|
||||
"pC/A7yUt89O6H8sNCUb1LG9B9L5+BazQecBVHaE3o2W+IUkfp+6MwtqDBPAD6+zeR9sE6NN6Az7Uvdsq",
|
||||
"bNX3FLqbBlbbuyDqeMLatGIm76hlvtndao3ZM/LFmpPfs61T1p++a8b1rSCB2886XID2Wg4fegLC2hIn",
|
||||
"fLigigjoKENWTN8tdAojODqdzDDSPWeY1YF73+BAtJV0WmEbbsjxBsTT0N55C+Q7My/eHeTT7IPeKzLK",
|
||||
"xY6Vic7awPlW8CqIK6NKkxlb2tZLAZJhW/ytqFf4iR/PtXNai1XbBVUE3ZluFau+vAW30yPvm4+rQBb4",
|
||||
"DQRWYOszn08Hbgw2m7FEO7UA2hnjCFSRJcuydnah+ZZRWylkUeVUKIwhB+EeXPBXnHarl9Q1wc0dgQ4B",
|
||||
"7kZhQChcrPpeTQgXSjPazsUL6qz3lsTxFdFvTgq3cq6b6tpCuBeYG53O61Iy6+VwVI2V79yNLeecCV3b",
|
||||
"0gA+D5TW00U0HDyGUT7Xe5rOzUnMt8vGqUtbb2vI0HReJ8bc5Qj2sHcB1HqHy1AJrHqtGn2rfZi/2R36",
|
||||
"RswYCkoL1MdYg3lDyPsasH45RA7KksfJeLD5CAp7oT98rXev2/C9+Rdge0UVgSmWsGsC9ctzx43wtNnI",
|
||||
"LYBd0yBoMM22/fTXCSuc3J3MWFs6kAqMaoA6g9sgSwPRhnab0O/FprPTJm72EbINsYL+wNStXLNXPfke",
|
||||
"dUd+NV6TjbkMX+u/Z/EKvxAE8dUvwG6If4uUzlymIBQI7ckuLgi6nSjv8hkSJWt7aUKzzBpKL4VcQhjb",
|
||||
"u3fHz+/OJfQBMIItd71+KIk0US9+24K2lpsu3C3ctr6r9hfwgri1brpraisY2WQS96kTdRsOl1gbgC7w",
|
||||
"9j7aJhk7iF5bqZR+2JtPh+7Uy7a443mUjYW8mxKf05aWtiHjscabn8g8992bwQecQMgyOKBsjdvagLL0",
|
||||
"/XC4IBPbi20CyhV6UJsvYciKbQQ1NEy8IFyTGS+VHpOnYoUWGXwt7LkSDON8rkDWK9/s7Hpy51fFqS9N",
|
||||
"CtZw3G3Tqpe+Ads28gpJmaZQp25ZT7PDzd/GqmR1/m5Xsts+upsSIqKd1u6CsemO2IF6EXA7a5DD6J2Q",
|
||||
"0gnUvYbOhjz9TaBhpztaDw52ZXRy/Fw1TAi139o1Uydy9s+Jo0FFeQMphIZa8MJbwH7dHT8zxoqRCtov",
|
||||
"b+JyzX7N3xLLa+5sm6Ym4M1vNKhel9TNQqFOyNiXdxMFN1Cur4oRN8ZJNyGDy9Fun+K1LVO+QfZXtUtd",
|
||||
"kzYZAU6WzrLWaCwcQfOWGwObELJyhH+vk9/wRS9v39z5vw0aI66zPkniVn+rphkHCZb2i+sdd8rdibFz",
|
||||
"y2+YVzqKQkdGq4/EsLz6SxVBKqPvjeRstkb04nPxZjbbygVz92BpW4UCiW00Cf0b9B1tlUgNdF6qSN3n",
|
||||
"fC3An9Esw2hPZ53RkmTWDefKnIL5Ti/Y6l7JyBxK0djhx72nIjYcirjRq22n6L/UOdM0pZp+BWNr2PX/",
|
||||
"D3Glt0bDp5VeMKEhq8D16TPY4EJR+6wFn42TGMitJcxgc5hlwKl4feBRjNU2kTgqGAenNvjayAErddqN",
|
||||
"D+LoFUiFJP1f3G2s2h1DXIac6+7PSsw6EaseIPSiwgjfTPtJWOew0sFN23z8RDGtpfZfKI+nO0uof2DK",
|
||||
"Y6m6PTdnT4awhMQbFxShiSEbGUuxtiMmnlmKMmrGRDl0Ad8qF3XCk6UyrBxlMqEZEDiaqS9N1a5YYzdV",
|
||||
"zL0EwUFr+KyVx23c+M3V17WG996wbihXF7R76SNXv0hXT9WntfoiY4Hd48H+4RdsfYgo1ouYJ6x0nWee",
|
||||
"M8GRdNr6B3HTOYbQWZZHE82v0BLLwD3qamxlmVyir8KCxW695POFJkIubQDf4e0yGHeRqICcPnTgGSkc",
|
||||
"VoeZeZDxP5fQ295mtuCF2/HSWvcg9eMH0Nh0mwCnnMJZxpsCRSPo+q+LGRLtb99CMKrdSd91tLIRF7hE",
|
||||
"Fxh4LauGHasbfRq7JXWOh2p47BwmubKeStp8OD92XZrutg0mn8mcGkZddTkkelXwBGIPbbcmEJiLUs5L",
|
||||
"ptQQ2jm5BheyJDPKs6pkGzmM4yuKibThqDPgdqND9W1Wss03ZS+nqxEflVV/WOlrurKmlEp8E0kpr+nq",
|
||||
"L4wVb9Hj/I2pZxj4bcWYOvs7kJgD13vAoMpKkD1yyVjhXPF1ADh5U7jaUZCISLlQhBJ0tYcyqXfKxPzv",
|
||||
"PYjckehB2QtW1loTV3VU+nrUlpUuKj0qSplWyTpB3xDLN/DyiXv3TjAHqPm1975g812zsYf220LMv1Yi",
|
||||
"98GWidwg/dkUZdf248H9+zd/0V4xMdcLX/zoT2HnuJSn2C/cUFlKLAhG9hPMy7crPbz5lZ7QFeTrQts6",
|
||||
"Wtp+Xw/uP7wNN4KqikKW5qBes5RTcrYqrMcMUIwgRjlhcurTzesusGH014ODJ7fTYdDVv0BOCaRDSuww",
|
||||
"NTMX2xbas25pvSil1hmz5fj+UJIH5rkbQOdSaVKyBLP/felA2C/KA0G2OwfgYN8p83HtCGFCYe0/zKEA",
|
||||
"6d2esvnyniIpnzMFxYPbZ0ye+eoDECd28suPAOefT178SCwqmUGLjAoRj9NaJ/DoRZVPBeWZ2itKdsXZ",
|
||||
"0pElXmLBREftCVJ/JwYBRMsrR82rMhscDfYGgRGqTayOm0FQnbZgDlM8O4AklW4hkZ/l1JlJQUb7e8VK",
|
||||
"btCvbnc6bLWjGDeqaKrIoE9Pjpv9IUMTmczzSqC4CQVK2ksftx24kQksNrz2ayJPT46H/d2ZsZmV2Ya5",
|
||||
"K6XM3Io6k4HTMVIqB8sP+FmAT9S1EywEfc/K93LqK8KFc9hyB59++/R/AgAA///54YbDGxIBAA==",
|
||||
"oUrJhFONdN/s5oKJqytaDixieHnGcuMYW3BG0M7J2AekZEbjBImeEoUWN2u6A8r3gSWVZpuMs/2WT89I",
|
||||
"gscO2nEKFHwSO6AXZSnL7n5+NMoNTwgzj0nJVCGFYjEzchpB+p/Ozk4I2jqJecNrC34gcmw4d5JVKRqF",
|
||||
"8HqsMklToiTitwcgrrYB2yyzS+MCrbJcGi36mZns4f6h5z/ekpJSTacUNetppVaGTzECC3WLsmxMCk25",
|
||||
"IJTce8t0uRo9nWlW3sNXF4yCscYsj4uUJ1QzZc1xqI9rnqN1wRwFU17VLpkuOUvH5CXo5U4KsgNyBXKS",
|
||||
"QRNqZHEnOtxTlgOad5OMMwFGolQSJXNm1OB5Q/k00hv7gNeI04xMaXIpZzPknd587STXru08Z0rReQz3",
|
||||
"WsgF516/H8WsKyb0S1rmp1sZ5Os33zLD0fwQP8vpu8JIAFHdSDHtTdlDYrADrBrkVCaXTB+/2Xv9b2dn",
|
||||
"iAYo7KKYosxBlESwpflRDcmkKNkVl5W6QLydeEsU+4BoikBsC28Z0+zCnjVLL2iEvxzPrPacMeBdhm77",
|
||||
"L6wY5ew9PGdK07wghr4jQhlcc8hkPlValihZvcxozkQiPctvHrOB2ciMGGVZESL27t3xcycP/gxuiw0e",
|
||||
"j1rIag70C81DfTX2YQvcm7DDSF7eWxP6f7zu9HA/htAlm5VMLS7A2h05Gn+HvTBqb5lagAXdfg8Ex+7m",
|
||||
"nkLbeS3pAtah7qPMhTWAV0ODdCDBphSUHkaTBRCNK55WNEO/3RJm8aYkLaUhAis3iLWfFyVNwK7Xa0jZ",
|
||||
"HYj93i6YOoIeZx455YxkVGm7yq1xbknVBd6YtMethFfUYPl7o9vbl+s7Ym67lmSiy4pNrKpin9S2OlAf",
|
||||
"webK03u11VwxPbSU2dwkd7vzQq+2snPCBXDACVx51kEXuPCaSNdLG19Rpd9a024fhbMIKssaQQ3ka5Mw",
|
||||
"z+m85q8OenaZcR1gK2fmcKAXVT4VlGdboFW4lWOzInDLxLQDnIuqS/svP0k/mPiMPVslMeHaE8CMz9go",
|
||||
"MS8RdgWmB+tpMHokcEW1qND2kMqlGBrhpIQ/q2JImE5ixH0bw6JfHCwVdaTWrnutgPgJVZev5Lzv/MHN",
|
||||
"n8k5SRaVuLQMTktCCfA1LQue7DleR0opc5IypGkpvmdlKAPyIfxyJXlqxklBBmkRnBgcMhmxHTwz63E0",
|
||||
"XttVjslruvISVF5lmhcglgim4F32QUeVFYcQa1kSBEQMd/TC16hmtrH2GLaRMs4AjBvEDABHR84AanBd",
|
||||
"QcPQ/6tmyMP2vHw7wA13IQ6b+b7GST+X8TfjNK7zzU3xsxh78BTOKl8RduFPshcXUSs8o71EAV8gZ3S+",
|
||||
"ARW59mgYo29oE1wHSb+Ubdk3WAO3ZN+bWW6fpSwA0zaXFt/ceG2XCNY1EEuouDDSAy31OksPV3ZKUP5o",
|
||||
"peXIfhU39lg4RZUHJ2Oi5Z3pWqO1yzXQtgOMv5j0j8vfhmaYe3OhGBMxR6vSTh/mKlyved/ZQAJz5XZr",
|
||||
"30x6lm71n0t8EAy7kp/4VxeIV7t8/Ay+eIu6382K5lesVNYDsQWZ66dubpxh467E7nDTMuBMdUAdwbyY",
|
||||
"gmVxSSESw9BNlTFWgLHOXElq36vEpZBLgWsAkS5quOtYF8ycGG8B4Zd2ITjtp/a9VztaMLoxEvhzFA5W",
|
||||
"hv1rfQLBwuYc3IKH44PR40ejeZoePkgfHv7gzuBo8P/KqnR3aABBPKX2hzk4HB+OaFYs6H5wNuHP5LvO",
|
||||
"2N939w+r2MnF0ljGx7X41sRkCwav0XhfWs6o1bIXVU6FkTJVlcNnKGOVLGNUMTKteJa6cFhwLxnSQBWZ",
|
||||
"hKuaoIoggWTXn0B8ljVM4teTOdcTYr8Cc2PUE9U68PoeNEDhr46BaAwbfsZQWpplb2aDo7+tR7hT5zcz",
|
||||
"X30aflwjM671pDitkrgviBRen4zK6xiAErODmwfg5nMUaWsS9E9vS7uGEWdnhjD+DOHWHfoGsfbTb4jH",
|
||||
"f85kcplxpfvdmMiorfGNlgyM4BD3ylKSsBLUSNCm0NkpjZhmLT2JQ86tPEnhel4IXa5iTqTuSx3X5PpA",
|
||||
"cdzPtjqUfbuHiLZOoB46jAvvISHP7fWIB8eaXwmdykpj5KrTP60U6SRMa07iDfGyxRcXNKfiIlmw5FJW",
|
||||
"er338xReJu7lIPDILaBkubxiKaGZFHMME3eRItuEITbX0gOauKWqs/AXQlbzRehdAnZBAydMwVnCiJZz",
|
||||
"3GLKZzNWgukYThBst+ZrQslCgskuA6GFvHv7yrl0Ira8MTmTwNwgSAljdd6+GpqfEqqZoJqR88HHKVXs",
|
||||
"095HKbzUq6rZjH9g6tP5IKa7mA+aaFlmUSpkh2k4aTdE5beOAqYKRuo5itdUKYeppyxjSTwG5sQ7MDFo",
|
||||
"3DybMkvR38upcrb6GoUNugRCFOgolmZd5PTD4GhwsH9wONp/NNq/f3b/8Oj+g6P7D/91/+Bof78r/HS/",
|
||||
"7sRzZhkuBN3yrGQhyTULm8kS/P2Or9a8qXX5dqDPUZAyTVOqKbD/NIVYTZqdRMyaDcbb2Ew55bqk5Yrk",
|
||||
"djCH0GPy2mzDUNeMfQij6KyPM5dmFxCJUiku5mRCx9NxMjFkvb5DNpS2dUZFKWEfR4PTouSakZclny+0",
|
||||
"YTaKlWOWgyF6oFbTkon/e2qDMWQ5d29YefgUXiCn+n//ryuWDXrgdGKN9c+8TtY889DDlNMPPDfayf39",
|
||||
"/eEg5wL/iribWtfAD9KD/6dBHFL8sHRZsZ5v+zWnhIrEHAMmDRVorxkOZpTjjwWtVP2PkZeeBsPB3ytW",
|
||||
"4YcwRuMZ/LtiqIxVBvojT6Wakd41ZvmF9sEZfdfxQBd8FqQM2HgCDDP7IgJUXEsbumX1nZuWZS/jsA+B",
|
||||
"c/gISxes74VMc2EqBaGNyPTMW8ghWEpmPGMK2bBgCVOKlqsYSW+xvKgB/d4zx2+Pn98LYiJAmHNRCG3W",
|
||||
"HGYFjclTbnQjgSt1n8TYuLNMWbHBsfNZKXO/9T7lKQboM6ou1WmV57RcxfLZ8iIDlx/JrDyJOU0O6mPy",
|
||||
"DD0RGC9i7e8uJtX85A4JXLPm+ThiJLWO463ETLA82wVvESvXyxrVv1UM9xyyMZ4bPfzhcJAHZL6PcH4a",
|
||||
"DiDT6mK6gmxEy8AgVLk2R1jbFBcNEuLpgCUav3WZIq7lY00P78fjST6bH73kmTYqes2Pho67vDr+y4ua",
|
||||
"uUQTIORsplhzodE4gRpUH3fIRVRbUvC+HYXhrrvsKji19q14y3RVCjQXg0wCYjR11JNbAQS2sIv21A4c",
|
||||
"CJC6H4H7AjwB9be9U2jcuOZdivhnA56JserlCEyHVTEY1r8sKp3KZZytWRPBMylmfF6V1MmtzU1y9ZKX",
|
||||
"Sr+txAZfAVcg73NUAgwBnZkP61AyOx8pKxFEnfhkNhC4KJmxJZlRQ4rVkNg4fiHFCDI+jV6ShOsFJmNE",
|
||||
"Uqdm+7DrKYNolbzQhqSbt/SCrayQLe5pMmW9YSjARzAxMN1KG4RV6JIKNWMleXpyDEkpLux43BPsAiz2",
|
||||
"lUxoXGN47lkS8DvDzcxNg7nsx+ONJo/2LO3dDcMDjqGePbW/0pK70OA2glzopVzSCG97I9hoSVfkyn6M",
|
||||
"wfCQESqVhohSaS65zT2EdBUOyYMlg6zSHEKSDOOdfDSS8aeJVTl5idmOTiRZQIKPcj4wV1bAB0A779mY",
|
||||
"nC1lZE1gMLWTpp1EDy/9MLv8IqPa6Dcjb8XBfF8QF+wg05VfdB+iwUebjSbW2FoD2n25xXk9rVLORDOQ",
|
||||
"2NqrrMqh1hEHN4xax/rWkb02+nQY42taFAbGcMruUIjZMiTxaZ8ayDG9P7Lh1V8YK95WQkQLBtTBccvg",
|
||||
"4lo3Xk5X5JKxwhAl4YTCuAiVd+bpHmitCPRI9Q1fWIy4tEL5aFNfqI3EXgddWrw+9sF+IJEvGJksvROO",
|
||||
"TYj1NmHqSp1BjNfHTALwnkvzX8E+6EZYGrq6h2TSBMKEvH53emZ05glkY062ikBrAdJDrQ9GMSz3sfTH",
|
||||
"LhmipfnaxIP1F6uV0BcZ/tZzO75aCgZoQizdzFFsfsF2iRNv2dyw7ZKl1hffgSRN05IptWPpFEt/4zdN",
|
||||
"zvSSlmzNNdzZ9+3Sky680VrtJmN/VvEVywAcqMICLA4Qw0GCSbQXNmLJQ6Fn9bHTOmVJVXK98tkULQq4",
|
||||
"bVj9unj6U6ar4qlSXGkqNAqfsUSUUMiTUyPbOR0c5C4zCvHDdKm1Na29gEwVukVmdH+SztcS1LpbiMIT",
|
||||
"xLlnvb6LUwwfssYY64zgJTn96enBw0d47VWVD4ni/4BM4+kKwr6NQGbrJ5DMLsqluHStJi0zKMwGjl8k",
|
||||
"P4M65348lyiEDo4Ghw+n+w+e3E8OHk/3Dw8P0/uz6YOHs2T/8Q9P6P2DhO4/mt5PHz3YTw8ePnry+If9",
|
||||
"6Q/7j1P2cP9B+nj/4AnbNwPxf7DB0f0HBw/Ac4yzZXI+52IeTvXocPr4IHl0OH3y4ODBLL1/OH1y+Hh/",
|
||||
"Nn20v//oyf4P+8khvf/w8f3HyeyQpg8eHDw6fDi9/8Pj5BH94cnD/cdP6qkOHn/qGhIcRE6i1Nb8GkiP",
|
||||
"ThGy/Dosg+DGcYVWvLfFelraJi6g4VR5pQi9wGFAEjkWBGuzWO+9cp4WOxZGNblgN/Pg3G+HHD8/H6Cx",
|
||||
"yancPoTA5wRRXAXoahNrxxmprJrvQcGOkaFee1j0YnT8fNKTAWtRZkttGtf+kmfstGDJRsUaBx82j2nz",
|
||||
"baq5f8yua56hla51KrEqVNdAD+uobiMGKM4W9LW3Ti+osH7QZiwBVY1BwVFjM5epK0VSX2NyFkgXn498",
|
||||
"W4SYbHkk/qi7BM6qYNRJXRQpr6VVdtEBHY5Lii3XvqzHQ1NGPaL3zUarD9HICpukNhwzOgbQmY9dcxtr",
|
||||
"0ujBRteNWY0db9gv7DYB/CvXi9otsxWonRKeOP9lFPRDK6YOScoKG7cPdMT5RL7xs9lW9gyOo8e/0znV",
|
||||
"4brIvM54gSWgDjusikzSFPUxDCeKmgVwsLe4Gij54+I6ryt4gKDRgF2vLHFDQsOtCAi3wN76D795Xpgm",
|
||||
"HOdqeFogZlNSBp85ljIMj9LaJmTzurPyysgdL3nGgpgoQDTDSexr5jeXKlLL9WGK9m3hQH0x/X24GbQI",
|
||||
"J/LX7QvjSkC+PxdrsNJmk3C0vcR4/rvy3C9FCNcSvZKlp5s0tzYrUfBZzbFoaoRiq9MFMXvUWlXJebW/",
|
||||
"f/DI24OtdFYpg/kdQ7OWdsDIXChM+XtgBah7qunuiOZUBRbeHSyx3jD8aTjIAgDtaGu5BVdJ69SzWkP2",
|
||||
"W28YQpprimKHzZs5raZrqhadMgFWfJ+XiEFzCoKw91Tw7QTTNW0VOS1t9ShHJYM3zcP3curzFMkzNyYW",
|
||||
"vZozHT5H1QtMvVRd+nRq93cm5wrdWoIxW5mjyHjCdbZy004ZxpWDY8U8Wg39RowWgRk57l0zhhQY+/Ad",
|
||||
"VAfUzalnLof3vZx+D7zbvG5euacgwxOM1prnbHwunI9PSI2mkekKEj5BK7F8hGpSlFLLRGauipKHFvpm",
|
||||
"EJi+FDTkOk1LCblQZuRmTEbzcshiI5WJ4MIbZyvftjBfbBBXachZ/voDq7EAhpbNY9gjlah/MJRhvHPa",
|
||||
"qCzW1e9bv/VATPTLgJip+q+ohNgHighxoJpccpHaLImtYeBjxbLsZzmFsO0s+9U7tWypBqouMznHh2G4",
|
||||
"bPj6GZ3H3V+NnIRo0bTaohUU/tKyxsamBLNNrMvnBwnaB4e//3/kv/799//4/T9//x+//8d//fvv//P3",
|
||||
"//z9/w+z+6HORBj3AbOA1nM02MNQ3j0123svpwrNOPcPDsfwEphRKnF5gXLNYYCTJ7/8aFC0UIMjI1ZB",
|
||||
"nVcj7dwf3d/HWooXkLrGlsrX74RoYayvyD5oJmxuz7iwriGzkgtZaV/aqLE+nMKvcC++c1sIsjNeKaVe",
|
||||
"O56t7ollBS9qTjjIuKg+BNcPvNYje1Q2FLobgwsIQ7PrFAsJ8WfDRz56dtvi8xuKj4Rosmm97tXabL7V",
|
||||
"LutIxB6AdyILkEyJOVErpVleR4/bb1sF/CBCMZFzwRXrSmb25ToAm5JMLlk5Sqhi3uJpp3CLstEp54gL",
|
||||
"54MhOR8suUjlUuEfKS2XXOC/ZcHEVKXmD6aTMTn1U8m8oJr7gvI/ynuKTMpKAAv98c2b08mfSFkJMgHX",
|
||||
"rMxIypWGUMEJsQya+shBV8vZL1KNz8VT5URXmhGzo2FjH+TchQudD5xd0dbFR7OOi+2G2oxFCckVVJHz",
|
||||
"QVNQdeOdD2rY51IZUQQkoktGNFN6L2XTam4rXyrCqOJQY9IKMi6kFB3fPCGpTKC2MGTNZFljZ9EaDH1Z",
|
||||
"LeaHi+0rSA5JIgse6qaTdh3BsRlt4ksXd2tQntm/6swQQ/dZSrh1rWNVl1QyJe5pklOdYK4ITXRFMz9S",
|
||||
"x6Z/hiWTQepU7dKUgEcyS4OYvGal/Xb5UV9p3dVbORfHjQVyRWSOLG5Ym9mgBtmqoEq1Smx3coOiQLe5",
|
||||
"5ZrOUQq0t8/VlqsDd4Oc/OPnPqrHFsixbB81T6qJr+M5ZcSQmLTK8PqbpaC9ESIbMDBMlsHGDHa5VC6D",
|
||||
"hu4Lv5JmLt1WApj13HaL60SIXExEi3dPOXPFSrBfCoTGKad8O0u/KxU3JHzMxi57w0fYBBFW493qdHzJ",
|
||||
"nis3kYGJ0b4X09WFC3TaJe7ZxilE1rplPtwO5UcgJ0fLyuDphuRHDGwTK19/wPxfWmfi2JCl3WoPfP2W",
|
||||
"NDeV+OlIzy4nvm2yaLs6SqwbTtjzxl+mDe1vbA2ljdmOkHEnbeuboC7SZ5XJijs2DKEB23yrQtKwYazv",
|
||||
"YkpQCGnjzFWZxSd+9/ZVmPNcz064ViybeSeoXIpM0nSb4KW6jpI/RUwghP33ncpnpCn5HAQlZ3rUzl6K",
|
||||
"qZ71hHcp3Si81dfINwozSrrqdKU0Yd1U1RrdMXlaNmq21zUMQfztYv+ONaDuEjG8bm77lhTJzdR3UuvK",
|
||||
"uOEzXy8SYvadKCctlUZVDDHPWsjBVAkUC04MasKiqIf9c4xk708PzH6ywFjjPxFprSutF/hcQNmD70C+",
|
||||
"kS5Ye+LorS1JJqQmrKQ2KNbXhmhL7WZZ32+qWdYNb8+4sO1GbOAuBGHcUyTxPS0wNp2HueBArsmbK1Yu",
|
||||
"S64ZyvJcVgqqI4mghIVLWo2KD7GKdq/k3Faq8zQAi+Y5qdi1wjCLhlOBCRktM95TF1w3SOAOVCKKXHUg",
|
||||
"aFQfKBlEtCQMdEJQ3rnAgH4cJxInsC6G9POowJpL5iaNXaJ6j9uVQLHxpj7lrpNjUVwEe2xJBifEPuuU",
|
||||
"vVrry9nOoNI/1ufHxGoaayt0RpFSOL5flyGDRi85y6eIp1uJ9I3Sb90FoHa1zQDqcjuSGxxVwysVlNKJ",
|
||||
"huN++m0YycfvskNHbWs0e7VNcZLupdlVOWrj6Hrnshu9/3ZgaHjgbKiN5daMbX8Z+UJoEQOsYknJgFPK",
|
||||
"kZB6pFmWjahYScHCIOijweH4oA/2R39zsbZGcpvlBZvbLkCjug3MYDjIuUoiSaTXjFK3C//45W9WWz7D",
|
||||
"mZo+0tgUFpn7j+yUz8Wb9mE1qglao749wKcnx9DWJTiJi7p8l1rS+ZyVo4rf0MG06hx2cyP6C391Vnvz",
|
||||
"x+QISfxkOitac0oZY8WptX1F3NrmsbeNucgGVCNdktypgRl4d5lIMYPTyzeuKJXPOE/pqqmn+bENwQZF",
|
||||
"aUyeFkXGmS0AiSn20nzIwW41SelKXcjZxZKxywlECsI7zd/Ny67QdWSFIBMKcvBgtJBVSX766ej16zoB",
|
||||
"Gfsp1Wgbjjw4GuSS6IpACAZ4GNMLkLqPBvd/ONrfx3wXq/TZbGjAK/fW/pNo0ZXmJN1wSpqwkWIFLTHQ",
|
||||
"dylHGYMOVq74joU6VHymK+SLjF32gJl8dz7IJXocdOWcDd+PyQuwduaMCkXOB+yKlSszniux02205Pcf",
|
||||
"iE4A0J6kJQeaj/Gq7h5Qm4dr81g/9rAJzca4wYrX3AtNNevTqW0uehlm5m2fIRTViIPBtlpU2lfNkS7p",
|
||||
"5bXLOW6x0A3La1o+fH3KoV1XUNMSepmYI2XKviJnM6OMgHGgXUSzRqD+aqGRwgBY9g7JVq142vzIOpoY",
|
||||
"KvTa2tQR24C6yOg/Vusjlpqpl9Y/gdpc2F0SyFXtYUFppdYArcKryIwLrhZ97UiHX/A8h35/a062zxrz",
|
||||
"Z6p4skbwHH9GPeHlLvWEdzGif5XSvV8qufCLFdbdphypL97T0qxKn457DTvT9vVya30spviFCgt5is5K",
|
||||
"KrwpKFvZEMyVkzbonHAdOO6hoAvYNsbeNWjNxIURGOSsrudv1E+iuPmbCgbGl66U0NHIGsUezdCpJD+e",
|
||||
"vCMY8+GtPC9e/PXFi3Fd4PbHk3cj+C0iJDRbJ+5cl1PT+Zg8s62QrTezVR2J2tL9aLi32RoU3OwlFanM",
|
||||
"CQzoTURK8blwlOoL2U426BZndL4l6a+pvUcC1bET2B0YRGieqKbzC56CbvHg8P5B+uiHZMToo3T04OGj",
|
||||
"R6Mn09mjEXsy238yZQ9+SNg0olb4EQJRf3MbknWivxtxLXScmt9ZzK4qfNQY8mnN1Ggk2c6S1Swd9fG6",
|
||||
"Dql4y5WIkeQM3eD+tAM29Qm1bMhoNupQHto9LmgVyy16p1gJtSds9V3LMo6fD0lBlVrKMvX1mEGttiVG",
|
||||
"jP7j7Je1WcOgHgAGOJvhq/VOF1oXg0+foJ8jOvyg4UiiAwOIp9VnjObWVYVfqqO9vZmLNAwiBPe6BTYw",
|
||||
"7pG8pGVuQ2kh7HowHGQ8YTYTxFOpV1eHnYmWy+V4LioY336j9uZFNjoc74+ZGC90jiUKuc4ay859Qe9a",
|
||||
"678/3h+DpiQLJmjBwTRjfsJcJjiiPVrwvavDvaRdmmiOFhNfy+I4hSZ/ulnDCIRNSCOB0Q729x14mYDv",
|
||||
"qVFGMYp87711pSECbxlE35wPTrEJdGHQO/PpLIiLTuIyK8YwmmaW+6zT+RRv998g+g8oUT3GC5EWktta",
|
||||
"4nPb3b8zYKcetIF8FLx7ENOz5+wtfcB+yUX6Z5+YfoLZZzcG7njfzQi8X8pK1HnqoCf7Tqef6maYX2pd",
|
||||
"WCAhso5T389waUT/ZSnFfNw6/ZfcRs3LkuSyZOTZq2PXXRO9NhAAp8iSQugcCFNuOzGkKKSKnBQkMUeO",
|
||||
"Cpjon2W6+mLQaBVjiYDF9RWVpXX6QQgSFiCRGE2G5XNuHo8axR26K/2leXGHuEiMd4MjnXHB7h5O/ZVm",
|
||||
"HDyvNMSm6yBTC0+t+/aqHt81Va8PciNRwVSnURARvAZlG6lbXxVrT24NP/8pEBMz3GqMbCbAbWB3O4zT",
|
||||
"i4yY3rClFPESM8A/68h3KIf8adgYa0XzrDlWW0DehCDtg3gLnXuvWFzw6MoJa0/jaZIwpXxH30hFxsiQ",
|
||||
"JEwHw43dA+f+m4KJpyfHLtkty+TSNi2BkHNBsz0rSdoDnZCCJpfmsM9F/3ErpqtiRF2NoH6yc0qvWLQs",
|
||||
"0c0QnuhUUaYZgtXQbnqF6N1CygeRPlItZIBQ9CWb0qJw1pLU6EqzKsvq7rDaViszcuXdIyXv6tiinvRY",
|
||||
"rFpkzU/QOkfADldkVokEbyKUd9+A3gYhYpjdW32qHwcbnG/vo8tY/bT30XljP60jSQ1m2GyDbjRxbmBn",
|
||||
"S0BYFS7Iia01aOux2kXF6eYJG3U+MmHgVe6fsE29frtBZhrP/d6dYjotrZWonTVyxsPeTo1scfOltQ24",
|
||||
"ZHGDnD5THJ0AO+p365bTqE/em0Dej6o+G2p3LK2rhP43hl5jA+ozkLOuLtA2H5B3qk6adkI7TdMRMpM1",
|
||||
"6XBIRn2BUTbF1K8ZhUYxhnHEskjIlKq6AtS0lEvVyAu7PsbXe9wdx12N7h7OD1k42NjqRlh9o7VZ95B/",
|
||||
"llOb85xz3UHPm9Q41iwI/GOVkfCQd9p0MSOq2TjXoPW7Amg/uH9w8zLCmaeoPi+OaTqH9DmQKev8ueYL",
|
||||
"0ew5jh21sxVJK1/hzLZFSmiycMjnh4L7ICXJjGhyLm5VPIIHxJXVbFICxDHr4oG6k7Ls3BGsDQGZdaHs",
|
||||
"gwXnG8P93EwmZPZSdi4VqvZbXC3Qa7/u/UqCJay7Xg/iqf47Xgif9mmoKPbyWBiB8pc3Z5hmadv12TyG",
|
||||
"Ok9PL2Q1X/z3hfqjXChAqw3XCbDf79uMBKY0KMOy5ObEde2m5ZFr1uit1m+WZzpZ/JjJKW3UuoBcspvl",
|
||||
"IvFOdFsJNMP4lTtzPftcXjTcHipW0T5zPXIRdKeDtGJWXtkeqJHP1YbjewOVh7HDTp2ONAdA9yyndX45",
|
||||
"VWqEbdFwq+5fzQOEDnLMtpO7IWrZ26wuavtstqtr1ovHNnHStnsbX5u0KmwzFxLXnEJiq7kprj2qpYiP",
|
||||
"boUilgzXJGTQDK8mhPZcxneGWr2m5SWuNATZsJbGXWeUpOSalZxuwHgYLze3badBkQc4aaHOvMJKBoYp",
|
||||
"AKo4SmgrW0ExNHPi5ve8eehdkguDFqVE2+OC+Xd97vuUJpfzUlYiHZ+LXyTMR/HOTtoNECfEq6oQ/2S+",
|
||||
"YimpCpCVhOYl+PilSF19kJwieqLXrgMerMG7khVhHwqW6CGWeWC8JJO6b9WkzmhXtn6vUdIy3BOF1rAw",
|
||||
"a8u2CcTk766fVlzmgm5FtiTSDREQ29IrZsJrF4dtkoo50+Pb1nAa7Zv6WRJANfCs2IAxLBEBpVX4zCAz",
|
||||
"iDBACmyDI/jw7pACEAJ8LRgD+O24W91gawY9vSBiTKRESYj07fI0I77tfTT//YXmbK1pyJZK2cow5Aa8",
|
||||
"M3aadsGXXhUDn7XlEJtU4QVeA1NoaOMhseF8gqT/ZsNorC8TPRe1xWmowS0CLWrd8i/53agIAANUtq2z",
|
||||
"QaUCkro1EOupPEPx43VB+BFDzT5tJatthdW+0EA/Tm8KhvttG3HqOZKggI55xuQL/OiSz+dGWr1dovVO",
|
||||
"IEdkKYEUga5vEiM7A06KKsCQcJFkVYrKkbLaNPQKM+qAnGPBYlS5bdEkP4hh1y5avyMekF+kb9KhOr3D",
|
||||
"v1sx/X3TYOkxq1//+qoYcSumQY66XZfptBQk1+t8vZkJPxIpCZL5+u7j3rTZhz9+M99Cr9ZG1/7bPJAb",
|
||||
"kbjqrcQUlqow+PsdBp8ObaGMVcG+NzJX0Ize+y49HLf0JLu7SZOEFVAniwldcmaNWkBW7CR3jahAR2K3",
|
||||
"WlvT3Nz5AAS73u+vg1c3d9HXIhfYUtYgmFGt5lIjPINiVHD77xIqII0CE1AzK74uT+/2AGiSSgimtTqu",
|
||||
"37Jq7nC91IERMh7VvHvOASdO5Xaw9rVtb2jq+xaQ8g9uUmwe9TXMi9FBG83M+xFIMR3WLerxzYAmcFIX",
|
||||
"B/qDs0i3E5vc2+PqEGxJHGyuabJ0E/kEJKo8Y0Qr5cFBX10u17jTLcFFwuH3Po72KxPNNcjqJYF6CxYM",
|
||||
"zXiXjQhap0muQ89TX8Tqj42cjVpuPajZzDSG6AxrZr4Wmp42hrsOkjYXZDEVPFf+sF16s/JNQLzk/wdB",
|
||||
"4+Ymd0Fi0EM3suczeOvb4MmwF5/YF5cVEcacqbCmmupIPndMLKR23VAJjmZZuOoGNmwj78V3HEei5YLq",
|
||||
"0VJWWWr9g6NU9uKUtzn9uqD6V/PRsX7+rQh8ziPZJ+dhvwVr1onYIAzyBTIUtkF0KeHOpgMZ0TgKRCK4",
|
||||
"8tIuWgOLig7BzpTJuY2C65XHwGRku7bUs9TDoWEJChkK7/5KSSKFywnIVm4KroL23Nb74MrWY2dFFDxl",
|
||||
"pXuMUl8GFiGuYhedPddQbw8r4a5h2s0+tDcU79OcJOaFCrvOuRgNYpty3p7zKdpHNBbj73ppQgtu2/Az",
|
||||
"cIcjv95/cvPE0q+EZiWj6cpWFbcCw4Nb9b3j6UEImphDICuZqBZE69Z0k+CaIMrzZEGksOb9W2M3VYvd",
|
||||
"tIjUM2zzS+tuq3j91SrPuLj00QXQcRkhgPFlGomKBUplRJcsC6xv2EsOqYVtsmWLvSc0y/wFryP5avqB",
|
||||
"QG1nP9gFUaLCywSLaXR/piWja2lG2EBwW8oRnuyNUpFYE8ttCcpXoCXRHo6x9VZTe2zQ5EOCOB8exDAs",
|
||||
"KmbesU0PrSvlTl0Z6BFaN1gOYWA7z2LCTyFLrezFrxmv3dhGhH+KGWfURSt6ttEe0LepcxGQ2OsSV1GT",
|
||||
"HXhXaSMg+CV0bwkMu/fR9UH9tPcRfuH/WONQD1siypK50NqWDLh1h1uootoVGN2rO/nhh515g7rxrjmk",
|
||||
"LxkfmdXtfptZ64bHv934xeu0wdzSEHmnLlFYz6xu1xlt3NoQMIP7so54e4z850bGYcyoYomKq59pfQ62",
|
||||
"fX7KZqwkvhusa7qT2YzN88HB/g/nA49YdVwdKBXg39NVKZxIX29PeTkOwyp9+93OgWMkHs2UxDGUzJkU",
|
||||
"jLBMwTh1IfPYMgFbAIALRrGkgAXh/zPCaUbPqBg9N/scvYMBBhEYBs0+YzCUJZ9zQTOY04wPPXywUnom",
|
||||
"w8rqvk0x10HjKttmmIdU2yp5rhiWIJTDG9Cfas4xJn3T3t7YhY1e2oUNNsYqbSPPyEQzPVK6ZDRvUgiv",
|
||||
"qU+5MPd7uDkx/BnOoVq9za9hV3RiaNekeLD/w6bXLTo2ENGSHIzvfRwdobSfG3UAw3CnTC+ZRXYLziAa",
|
||||
"yGvtNhxk5nuzy7JDd7zo7HAZlJ2HkXZEeIld6vT6W+tuYH1zLOK52FU5I1NmPvTzT1eNe4cSxaT3Ch0R",
|
||||
"c2YTW8oQqEsjOvmWsyk2cCDgDDafop/vkGa8buMh3M+ZLBM+zVYkyaTt5vDT2dkJSaQQGMjuuiRJqDhp",
|
||||
"Ca8tu6ka58UI+0ATTRTNmZUktXQd1UgqKyPk4QcKGtniW5hqiLepLjoYOQEylemql5WGOe1milq76IKl",
|
||||
"ITl6x0lfgN9LWuandT+WGxKM6lneguh9/QpYofOAqzpCb0bLfEOSPk7dGYW1BwngB9bZvY+2CdCn9QZ8",
|
||||
"qHu3Vdiq7yl0Nw2stndB1PGEtWnFTN5Ry3yzu9Uas2fkizUnv2dbp6w/fdeM61tBArefdbgA7bUcPvQE",
|
||||
"hLUlTvhwQRUR0FGGrJi+W+gURnB0OplhpHvOMKsD977BgWgr6bTCNtyQ4w2Ip6G98xbId2ZevDvIp9kH",
|
||||
"vVdklIsdKxOdtYHzreBVEFdGlSYztrStlwIkw7b4W1Gv8BM/nmvntBartguqCLoz3SpWfXkLbqdH3jcf",
|
||||
"V4Es8BsIrMDWZz6fDtwYbDZjiXZqAbQzxhGoIkuWZe3sQvMto7ZSyKLKqVAYQw7CPbjgrzjtVi+pa4Kb",
|
||||
"OwIdAtyNwoBQuFj1vZoQLpRmtJ2LF9RZ7y2J4yui35wUbuVcN9W1hXAvMDc6ndelZNbL4agaK9+5G1vO",
|
||||
"ORO6tqUBfB4oraeLaDh4DKN8rvc0nZuTmG+XjVOXtt7WkKHpvE6MucsR7GHvAqj1DpehElj1WjX6Vvsw",
|
||||
"f7M79I2YMRSUFqiPsQbzhpD3NWD9cogclCWPk/Fg8xEU9kJ/+FrvXrfhe/MvwPaKKgJTLGHXBOqX544b",
|
||||
"4WmzkVsAu6ZB0GCabfvprxNWOLk7mbG2dCAVGNUAdQa3QZYGog3tNqHfi01np03c7CNkG2IF/YGpW7lm",
|
||||
"r3ryPeqO/Gq8JhtzGb7Wf8/iFX4hCOKrX4DdEP8WKZ25TEEoENqTXVwQdDtR3uUzJErW9tKEZpk1lF4K",
|
||||
"uYQwtnfvjp/fnUvoA2AEW+56/VASaaJe/LYFbS03XbhbuG19V+0v4AVxa91019RWMLLJJO5TJ+o2HC6x",
|
||||
"NgBd4O19tE0ydhC9tlIp/bA3nw7dqZdtccfzKBsLeTclPqctLW1DxmONNz+Ree67N4MPOIGQZXBA2Rq3",
|
||||
"tQFl6fvhcEEmthfbBJQr9KA2X8KQFdsIamiYeEG4JjNeKj0mT8UKLTL4WthzJRjG+VyBrFe+2dn15M6v",
|
||||
"ilNfmhSs4bjbplUvfQO2beQVkjJNoU7dsp5mh5u/jVXJ6vzdrmS3fXQ3JUREO63dBWPTHbED9SLgdtYg",
|
||||
"h9E7IaUTqHsNnQ15+ptAw053tB4c7Mro5Pi5apgQar+1a6ZO5OyfE0eDivIGUggNteCFt4D9ujt+ZowV",
|
||||
"IxW0X97E5Zr9mr8lltfc2TZNTcCb32hQvS6pm4VCnZCxL+8mCm6gXF8VI26Mk25CBpej3T7Fa1umfIPs",
|
||||
"r2qXuiZtMgKcLJ1lrdFYOILmLTcGNiFk5Qj/Xie/4Yte3r65838bNEZcZ32SxK3+Vk0zDhIs7RfXO+6U",
|
||||
"uxNj55bfMK90FIWOjFYfiWF59ZcqglRG3xvJ2WyN6MXn4s1stpUL5u7B0rYKBRLbaBL6N+g72iqRGui8",
|
||||
"VJG6z/lagD+jWYbRns46oyXJrBvOlTkF851esNW9kpE5lKKxw497T0VsOBRxo1fbTtF/qXOmaUo1/QrG",
|
||||
"1rDr/x/iSm+Nhk8rvWBCQ1aB69NnsMGFovZZCz4bJzGQW0uYweYwy4BT8frAoxirbSJxVDAOTm3wtZED",
|
||||
"Vuq0Gx/E0SuQCkn6v7jbWLU7hrgMOdfdn5WYdSJWPUDoRYURvpn2k7DOYaWDm7b5+IliWkvtv1AeT3eW",
|
||||
"UP/AlMdSdXtuzp4MYQmJNy4oQhNDNjKWYm1HTDyzFGXUjIly6AK+VS7qhCdLZVg5ymRCMyBwNFNfmqpd",
|
||||
"scZuqph7CYKD1vBZK4/buPGbq69rDe+9Yd1Qri5o99JHrn6Rrp6qT2v1RcYCu8eD/cMv2PoQUawXMU9Y",
|
||||
"6TrPPGeCI+m09Q/ipnMMobMsjyaaX6ElloF71NXYyjK5RF+FBYvdesnnC02EXNoAvsPbZTDuIlEBOX3o",
|
||||
"wDNSOKwOM/Mg438uobe9zWzBC7fjpbXuQerHD6Cx6TYBTjmFs4w3BYpG0PVfFzMk2t++hWBUu5O+62hl",
|
||||
"Iy5wiS4w8FpWDTtWN/o0dkvqHA/V8Ng5THJlPZW0+XB+7Lo03W0bTD6TOTWMuupySPSq4AnEHtpuTSAw",
|
||||
"F6Wcl0ypIbRzcg0uZElmlGdVyTZyGMdXFBNpw1FnwO1Gh+rbrGSbb8peTlcjPiqr/rDS13RlTSmV+CaS",
|
||||
"Ul7T1V8YK96ix/kbU88w8NuKMXX2dyAxB673gEGVlSB75JKxwrni6wBw8qZwtaMgEZFyoQgl6GoPZVLv",
|
||||
"lIn533sQuSPRg7IXrKy1Jq7qqPT1qC0rXVR6VJQyrZJ1gr4hlm/g5RP37p1gDlDza+99wea7ZmMP7beF",
|
||||
"mH+tRO6DLRO5QfqzKcqu7ceD+/dv/qK9YmKuF7740Z/CznEpT7FfuKGylFgQjOwnmJdvV3p48ys9oSvI",
|
||||
"14W2dbS0/b4e3H94G24EVRWFLM1BvWYpp+RsVViPGaAYQYxywuTUp5vXXWDD6K8HB09up8Ogq3+BnBJI",
|
||||
"h5TYYWpmLrYttGfd0npRSq0zZsvx/aEkD8xzN4DOpdKkZAlm//vSgbBflAeCbHcOwMG+U+bj2hHChMLa",
|
||||
"f5hDAdK7PWXz5T1FUj5nCooHt8+YPPPVByBO7OSXHwHOP5+8+JFYVDKDFhkVIh6ntU7g0YsqnwrKM7VX",
|
||||
"lOyKs6UjS7zEgomO2hOk/k4MAoiWV46aV2U2OBrsDQIjVJtYHTeDoDptwRymeHYASSrdQiI/y6kzk4KM",
|
||||
"9veKldygX93udNhqRzFuVNFUkUGfnhw3+0OGJjKZ55VAcRMKlLSXPm47cCMTWGx47ddEnp4cD/u7M2Mz",
|
||||
"K7MNc1dKmbkVdSYDp2OkVA6WH/CzAJ+oaydYCPqele/l1FeEC+ew5Q4+/fbp/wQAAP//oeV2rSUSAQA=",
|
||||
}
|
||||
|
||||
// GetSwagger returns the content of the embedded swagger specification file
|
||||
|
2
pkg/api/openapi_types.gen.go
generated
@ -48,6 +48,8 @@ const (
|
||||
|
||||
// Defines values for BlenderPathSource.
|
||||
const (
|
||||
BlenderPathSourceDefault BlenderPathSource = "default"
|
||||
|
||||
BlenderPathSourceFileAssociation BlenderPathSource = "file_association"
|
||||
|
||||
BlenderPathSourceInputPath BlenderPathSource = "input_path"
|
||||
|
@ -40,6 +40,13 @@ export default class BlenderPathSource {
|
||||
"input_path" = "input_path";
|
||||
|
||||
|
||||
/**
|
||||
* value: "default"
|
||||
* @const
|
||||
*/
|
||||
"default" = "default";
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Returns a <code>BlenderPathSource</code> enum value from a Javascript object name.
|
||||
|
@ -114,7 +114,7 @@
|
||||
|
||||
<p v-else>Choose how a Worker should invoke the Blender command when performing a task:</p>
|
||||
|
||||
<fieldset v-if="autoFoundBlenders.length >= 1">
|
||||
<fieldset>
|
||||
<label v-if="autoFoundBlenderPathEnvvar" for="blender-path_envvar">
|
||||
<div>
|
||||
<input
|
||||
@ -191,25 +191,19 @@
|
||||
</p>
|
||||
</div>
|
||||
</label>
|
||||
|
||||
<label for="blender-default">
|
||||
<div>
|
||||
<input
|
||||
type="radio"
|
||||
v-model="selectedBlender"
|
||||
name="blender"
|
||||
:value="blenderFromDefaultSource"
|
||||
id="blender-default" />
|
||||
{{ sourceLabels['default'] }}
|
||||
</div>
|
||||
</label>
|
||||
</fieldset>
|
||||
|
||||
<div v-if="autoFoundBlenders.length === 0">
|
||||
<input
|
||||
v-model="customBlenderExe"
|
||||
@keyup.enter="nextStepAfterCheckBlenderExePath"
|
||||
:class="{
|
||||
'is-invalid': blenderExeCheckResult != null && !blenderExeCheckResult.is_usable,
|
||||
}"
|
||||
type="text"
|
||||
placeholder="Path to Blender executable" />
|
||||
|
||||
<p v-if="isBlenderExeChecking" class="is-in-progress">Checking...</p>
|
||||
<p
|
||||
v-if="blenderExeCheckResult != null && !blenderExeCheckResult.is_usable"
|
||||
class="check-failed">
|
||||
{{ blenderExeCheckResult.cause }}
|
||||
</p>
|
||||
</div>
|
||||
</step-item>
|
||||
|
||||
<step-item
|
||||
@ -240,6 +234,9 @@
|
||||
The command you provided: "<code>{{ selectedBlender.path }}</code
|
||||
>"
|
||||
</dd>
|
||||
<dd v-if="selectedBlender.source == 'default'">
|
||||
You have chosen to skip adding a blender path.
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p v-if="isConfirmed" class="check-ok">
|
||||
@ -291,7 +288,8 @@ export default {
|
||||
sourceLabels: {
|
||||
file_association: 'Blender that runs when you double-click a .blend file:',
|
||||
path_envvar: 'Blender found on the $PATH environment:',
|
||||
input_path: 'Another Blender executable:',
|
||||
input_path: 'Specify a Blender executable:',
|
||||
default: 'Skip, let the Workers use whatever Blender is available.',
|
||||
},
|
||||
isConfirming: false,
|
||||
isConfirmed: false,
|
||||
@ -324,6 +322,15 @@ export default {
|
||||
blenderFromInputPath() {
|
||||
return this.allBlenders.find((b) => b.source === 'input_path');
|
||||
},
|
||||
blenderFromDefaultSource() {
|
||||
return {
|
||||
input: '',
|
||||
path: '',
|
||||
source: 'default',
|
||||
is_usable: true,
|
||||
cause: '',
|
||||
};
|
||||
},
|
||||
setupConfirmIsClickable() {
|
||||
if (this.isConfirming || this.isConfirmed) {
|
||||
return false;
|
||||
|
The check for
IsUsable
can be moved out of theswitch
since it's the same for everycase
anyway.