@loveithateit why you reverted this?


@vilchik-elena Can't we replace all this `if/else...` structure with just `tree.accept(new LoopsVisitor());`?


Please, do not add spaces at the end of lines :/


리뷰 완료되었어요 머지할게요.


asdf


Second try


Please, use `cargo fmt` after the commit so that everything follows our style guide.


Please, do not use CamelCase.


ok, it's modified

Le 10/06/2016 10:37, scorreia a écrit :
>
> Actually, all these schemes are URI, so
> I would rename DATA to DATA_URI.
> Same for FILE_URL to FILE_URI
> MAIL_TO -> MAILTO_URI
> HDFS_URL -> HDFS_URI
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/Talend/data-quality/commit/34da16059510d94f529c417d24990bd0b2232432#commitcomment-17818470>,
> or mute the thread
> <https://github.com/notifications/unsubscribe/ASxjczeim0OkZzytGF3uQ3qQBvdxhvvfks5qKSI9gaJpZM4IyvGI>.
>


Requiring agreed. Soft requrement to use 'make package'; dont see why everybody needs to suffer.


**[unitTests_php_branches run failed](http://jenkins.wikia-prod:8080/job/unitTests_php_branches/31893/testReport/) for this commit**


Also if you had uniqueness validator in model you can remove `'model' => $this` now :)


jajajajajjajaja soy el mas perrón aquí


TeamCity OTA+ :: rvi_sota_server :: ci [Build 66](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4368&buildTypeId=ota_plus_RviSotaServer_Ci) is now running


#settingsPanel table tbody tr:hover td { background-color: #aed0ea; }


@mattjt83
Would it be more useful to come up with a naming scheme, and get the incorrectly named things fixed?


Hi @IvAlex1986,

I just pushed v1.6.0 to NuGet: https://www.nuget.org/packages/Dommel/1.6.0

Regards, Henk


@chelmuth : I'm sorry, don't know what came over me yesterday. I have replaced the whole "poll" commit again.


李受珍
权多妍


asi?


@pynicolas thanks:) fixed in 86096fea35d6ea2565a4499675e403485aded9f6


yep, its fine as long as its only required for cpack deb stuff


@geromueller I have missed this change: printHeader() is now in the protected part and it is enabled by default thus we don't need to call it explicitly in a steering script, right?


No. Do you need it? I can build my system without this patch, so you should be able to do so as well... or why are you asking me?


TeamCity OTA+ :: rvi_sota_server :: ci [Build 66](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4368&buildTypeId=ota_plus_RviSotaServer_Ci) outcome was **FAILURE**
Summary: Tests passed: 168, ignored: 3; exit code 1 (new) Build time: 00:09:15


Hi,

correct. No need to call it by yourself.

Gero

Am Freitag, 10. Juni 2016, 02:12:17 CEST schrieb Andrej Dundovic:
> @geromueller I have missed this change: printHeader() is now in the
> protected part and it is enabled by default thus we don't need to call it
> explicitly in a steering script, right?
>
> ---
> You are receiving this because you were mentioned.
> Reply to this email directly or view it on GitHub:
> https://github.com/CRPropa/CRPropa3/commit/2ec8fe033d2631ca88f74cbfe4b822ddf
> 3d296c0#commitcomment-17818898


Yeah I'll do that :-)


Just a heads up Webpack 2 and rollup currently don't support tree-shaking with Lodash which is why we put effort behind `babel-plugin-lodash` 😎


I assume that user may do some blocking procedure in `process` method. Maybe I should divide it into two methods: `process` and  `processBlocking`.


OK. Thanks.


Where did you take this event from?
https://developer.mozilla.org/en-US/docs/Web/API/WebSocket It seems that there is `close` event, not `disconnect`?


@manisandro yes I can do that,but I don't have time before next week...


TeamCity OTA+ :: rvi_sota_server :: ci [Build 67](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4373&buildTypeId=ota_plus_RviSotaServer_Ci) is now running


Add_Meter_Custom (jmarrec) - x86_64-Linux-Ubuntu-14.04-clang-3.5: Build Failed

![Build Badge](http://img.shields.io/badge/build%20status-failing-red.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-78.85%25-red.svg)


Is this complete? Would be great to merge it back to master.


Localizzazione italiana di Simple PHP File Manager di John Campbell (jcampbell1)


no na linuxovu masinu by si sa mal vediet dostat normalne cez ssh resp cez sftp na prenos suborov. neviem ako to robis cez TC, ale to je jedno ak sa tam vies dostat, tak si tam uloz ten zip, co stiahnes odtialto, resp. ak vidis z tej masiny lanku, uloz to hockde a potom pouzi tu instalaciu addonu zipu, nesmies nic prepisovat.

pozri si este [toto](http://kodicommunity.com/how-to-install-a-zip-file-on-kodi/) aj tu je to krok po kroku

**dolezite je ak si zip neulozis napr do home foldru, pridat si folder, kde zip umiestnis :
toto si nastavis system->file manager**

potom system->addons->install from zip a vyberes si folder, ktory si si vyssie pridal  a nainstalujes zip

toto by malo ficat bez problemov ;)


Hi nouiz,

    Modified the init of MaxPoolGrad as you suggested.

    Tested ok.

    Thanks.


why remove this css


@alexstanro
Please consider instead of this block:
```c
  if (p_transaction_lowest_active_mvccid)
    {
      /*
       *  First, by setting MVCCID_ALL_VISIBLE we will tell to VACUUM that transaction lowest MVCCID will be set soon.
       *  This is needed since setting p_transaction_lowest_active_mvccid is not an atomic operation (global
       * lowest_active_mvccid must be obtained first). We want to avoid a possible scenario (even if the chances
       *  are minimal) like the following one:
       *    - the snapshot thread reads the initial value of global lowest active MVCCID but the thread is suspended
       *  (due to thread switching) just before setting p_transaction_lowest_active_mvccid
       *    - the transaction having global lowest active MVCCID commits, so the global value is updated (advanced)
       *    - the VACCUM thread computes the MVCCID threshold as the updated global lowest active MVCCID
       *    - the snapshot thread resumes and p_transaction_lowest_active_mvccid is set to initial value of global
       *  lowest active MVCCID
       *    - the VACUUM thread computes the threshold again and found a value (initial global lowest active MVCCID)
       *  less than the previously threshold
       */
      ATOMIC_TAS_64 (p_transaction_lowest_active_mvccid, MVCCID_ALL_VISIBLE);
      /*
       * Is important that between next two code lines to not have delays (to not execute any other code).
       * Otherwise, VACUUM may delay, waiting more in logtb_get_oldest_active_mvccid.
       */
      lowest_active_mvccid = ATOMIC_INC_64 (&mvcc_table->current_trans_status.lowest_active_mvccid, 0LL);
      ATOMIC_TAS_64 (p_transaction_lowest_active_mvccid, lowest_active_mvccid);
    }
```

This code:
```c
  if (p_transaction_lowest_active_mvccid)
    {
      ATOMIC_TAS_64 (p_transaction_lowest_active_mvccid, mvcc_table->current_trans_status.lowest_active_mvccid);
      lowest_active_mvccid = *p_transaction_lowest_active_mvccid;
    }
```

Thread cannot be preempted while executing ATOMIC_TAS_64 operations, so it wouldn't be required to set the transaction lowest active MVCCID in two steps (MVCCID_ALL_VISIBLE and then real value).

There is no threat if thread is preempted after ATOMIC_TAS_64, since no one else will modify the transaction lowest active MVCCID.

It could help us with the pain from computing global oldest active.


Integrating retinal image analysis.


TeamCity OTA+ :: rvi_sota_server :: ci [Build 67](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4373&buildTypeId=ota_plus_RviSotaServer_Ci) outcome was **FAILURE**
Summary: Tests failed: 10 (10 new), passed: 181, ignored: 3 Build time: 00:05:36
### Failed tests
```
APIFunTests.test adding vins: <no details avaliable>

APIFunTests.test searching vins: <no details avaliable>

APIFunTests.test adding manually installed packages: <no details avaliable>

APIFunTests.test viewing manually installed packages: <no details avaliable>

APIFunTests.test viewing vehicles with a given package installed: <no details avaliable>

APIFunTests.test adding component to vin: <no details avaliable>

APIFunTests.test viewing components installed on vin: <no details avaliable>

APIFunTests.test listing vins with component installed: <no details avaliable>

APIFunTests.test creating install campaigns: <no details avaliable>

APIFunTests.test list of vins affected by update: <no details avaliable>

```


Add_Meter_Custom (jmarrec) - x86_64-Linux-Ubuntu-14.04-cppcheck-1.61: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.svg)


The code is here: https://github.com/opencog/opencog/tree/master/opencog/nlp/aiml -- I think Man Hin and Amen have a rough idea of how it works. We ran it on the robot this last tuesday.


TeamCity OTA+ :: rvi_sota_server :: ci [Build 68](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4374&buildTypeId=ota_plus_RviSotaServer_Ci) is now running


**[unitTests_php_branches run failed](http://jenkins.wikia-prod:8080/job/unitTests_php_branches/31894/testReport/) for this commit**


 Update easyble to adapt to write characteristics without response - only works on Android

Add the writeCharacteristicWithoutResponse functionality from [cordova-ble plugin](https://github.com/evothings/cordova-ble) to easyble library. This functionality is experimental and only implemented on Android.

Two functions are added: `writeCharacteristicWithoutReponse` and `writeServiceCharacteristicWithoutResponse`. If the OS is not Android, `writeCharacteristic` and `writeServiceCharacteristic` is used.


This is a tad magical but ok. How about an option that does not allow you to mix variable-size input dataset with mean subtraction? This might be a good idea especially given image-mean subtraction is the Digits default.


TeamCity OTA+ :: rvi_sota_server :: ci [Build 68](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4374&buildTypeId=ota_plus_RviSotaServer_Ci) outcome was **FAILURE**
Summary: Tests failed: 20 (12 new), passed: 44, ignored: 3 Build time: 00:01:45
### Failed tests
```
org.genivi.sota.resolver.test.ValidateResourceSpec: <no details avaliable>

org.genivi.sota.resolver.test.FiltersResourcePropSpec: <no details avaliable>

org.genivi.sota.resolver.test.ComponentResourceWordSpec: <no details avaliable>

org.genivi.sota.resolver.test.FilterQuerySpec: <no details avaliable>

org.genivi.sota.resolver.test.VehiclesResourceWordSpec: <no details avaliable>

org.genivi.sota.resolver.test.ResolveResourceWordSpec: <no details avaliable>

org.genivi.sota.resolver.test.FiltersResourceWordSpec: <no details avaliable>

org.genivi.sota.resolver.test.PackagesResourceWordSpec: <no details avaliable>

org.genivi.sota.resolver.test.FirmwareResourceSpec: <no details avaliable>

org.genivi.sota.resolver.test.PackageFilterResourceWordSpec: <no details avaliable>

org.genivi.sota.resolver.test.VehiclesResourcePropSpec: <no details avaliable>

##### there are 10 more failed tests, see build details
```


Yeah. thanks


0.4.4.6* fail !


SPM Titles not applied because of our default solution? Important to fix for Google!


space, don't forget.


Please backport to 2.7 branch. as it have the same problem :+1:


No, that was just a stylistic change. Those two lines are the same for perl.


Bladi blaaaa blaa blaaa numa prostii scrii


Thanks @prem82 for also joining the review process. We will call out again it is really everyone reviews everyone else work..

BTW @vamsisk  on this point it is not a test of if it is readable by me.. it is really a test will this be understood by everyone else :-)


aici as scoate-o p mata din frigider, si l-as baga pe taftu


好好别乱想


方法


I don't quite get the logic of putting this in meta data though. I think it makes more sense to have it as a property of the model (but we have bigger fish to fry at the moment).


ok.. you know now it is team to refactor :-)


do you want to try the hamcrest matchers. Basically some syntatic sugar on top of junit assert http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matchers.html


What about `keys += container[0].getAllKeys()`?


This is actually not the boot classloader, however it will delegate to it (hopefully).
So fine for me.


Add_Meter_Custom (jmarrec) - x86_64-MacOS-10.10-clang: Build Failed

![Build Badge](http://img.shields.io/badge/build%20status-failing-red.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-79.22%25-red.svg)


Oops, I meant "file"


These commits will allow us to add more orbits that simply idle until they are used.


Also don't forget to trim out the term `uniqueness` from the variable names.  So `_uniquenessValidatorsCombinedFields` becomes `_validatorsCombinedFields` or probably better yet to match the class name `_combinedValidatorFields`.


I'm pretty sure this is fine on Java 8.


My homework solution. Marked 100.


TeamCity OTA+ :: rvi_sota_server :: ci [Build 69](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4378&buildTypeId=ota_plus_RviSotaServer_Ci) is now running


This probably won't work - make.sh will eventually get more tools, some of which won't be in Java and/or won't be available for Windows at all, for outputting various formating (TTF, OTF, WOFF, etc.)


So this `homepage=http://portal.webconverger.com/%20http://webconverger.com` will work how on the Rpi2 version?


Oceanic schemes will not _be_ provided anymore.


the result should actually be the first legacy addr in the vec, not the first addr in the vec


It is hard to believe that the projectName cannot have "-".


@prem82  @myexpr

frankly speaking, i was OK when I wrote the method names as expectation is just to scan one single item and didn't give any focus on class names and method names. If both you are disagree on the naming of method instead of TDD and how the code evolved, then may be I have to bow down  :)


@myexpr  yes you are right.


Well, at least better than mine xD :+1:
but, what's the point of licensing this file? xD Anyway, it's Plugswork Products International License v1.1 xD


a similar test case where the legacy addr isn't in position 0 would be good


CBECC-8-5 (kbenne) - i386-Windows-7-VisualStudio-12: OK (2396 of 2420 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.01%25-yellow.svg)


Thanks :+1:


ASSERT_NE(addr, addrvec.v[0]);   // it's not the first addr (which is non-legacy)
ASSERT_NE(addr, entity_addr_t);  // it's not a blank addr either
// it's actually a bogus value that is non-empty but also non-usable.


I have no strong feelings so please do whatever you consider appropriate.


TeamCity OTA+ :: rvi_sota_server :: ci [Build 69](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4378&buildTypeId=ota_plus_RviSotaServer_Ci) outcome was **SUCCESS**
Summary: Tests passed: 191, ignored: 3 Build time: 00:04:38


Totally reasonable. We should put this explanation. into a `CONTRIBUTING.md`.


@myexpr  will look into that. Haven't used it before.


http://qiita.com/mo_to_44/items/0ca628b4cc74c8c5599d
こっちにもありますが、ViewControllerのライフサイクル重要ですので、
しっかり理解してください。


dit stuk zou er ook in kunnen komen:

```
         if (count($availableUserClasses) == 1) {
              $userClass = $availableUserClasses[0];
         }

         if (!isset($userClass)) {
             $helper = $this->getHelper('question');
             $question = new ChoiceQuestion(
                 'Please select the user class',
                 $availableUserClasses,
                 0
             );

             $userClass = $helper->ask($input, $output, $question);
         }
```


TeamCity OTA+ :: rvi_sota_server :: ci [Build 70](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4380&buildTypeId=ota_plus_RviSotaServer_Ci) is now running


@zanezam, you made a mistake. I am @ak and I didn't participate in this project.


ops :) Thanks.


@unexampled


TeamCity OTA+ :: rvi_sota_server :: ci [Build 70](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4380&buildTypeId=ota_plus_RviSotaServer_Ci) outcome was **FAILURE**
Summary: Compilation error: Scala compiler (new) Build time: 00:02:41


TeamCity OTA+ :: rvi_sota_server :: ci [Build 71](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4383&buildTypeId=ota_plus_RviSotaServer_Ci) is now running


I was trying to keep the model clean.


Problems should be fixed added better error handling.


Too low priority :P


Done.


**[unitTests_php_branches run failed](http://jenkins.wikia-prod:8080/job/unitTests_php_branches/31895/testReport/) for this commit**


Oh boy. Thanks!


Thank you!
I am glad you like it! 😄


TeamCity OTA+ :: rvi_sota_server :: ci [Build 71](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=4383&buildTypeId=ota_plus_RviSotaServer_Ci) outcome was **FAILURE**
Summary: Tests failed: 2 (2 new), passed: 166, ignored: 3 Build time: 00:06:41
### Failed tests
```
org.genivi.sota.core.DeviceResourceSpec.search with status=true returns current status for a vehicle: <no details avaliable>

org.genivi.sota.core.UpdateServiceSpec.upload spec per device: <no details avaliable>

```


次のマイナーチェンジの動作は怪しいので，もし動作確認をしたいならここかこれより前が好ましい


Все ок! Замечаний нет.


Users who don't "own" the request just see:

![screen shot 2016-06-10 at 09 47 02](https://cloud.githubusercontent.com/assets/282788/15960951/22c5e95e-2efa-11e6-970a-0c354d3efc99.png)


Already considered the code. Since I'm not sure about atomicity  of "ATOMIC_TAS_64 (p_transaction_lowest_active_mvccid, mvcc_table->current_trans_status.lowest_active_mvccid);", I prefer for safety reason to use MVCCID_ALL_VISIBLE.  Is exactly one of my concerns commented in a previous email. Reading mvcc_table->current_trans_status.lowest_active_mvccid and setting p_transaction_lowest_active_mvccid may be not atomic. The VACCUM should not be affected by  MVCCID_ALL_VISIBLE.


I tested alot of times, open pr, and no devs complained about it.
If you analyze the video carefully, you will see that he cast a spell after another.
But if you dont like, feel free to open PR and chage it.


Ja, passt...


Das überzählige s ist schon weg in meiner po-Datei.


Como vinculas genymotion alo andriod studio?


wait noo


that was me trying to add level pics in


don't use this


Ok thanks again!  I will add more games if it looks like it's still trending up or down.


I probably should have branched and submitted a PR for this, which may bear on the answer to my question below...

@pearswj and @acormier ...see the TODO spots above.  I'm curious what would be your answers for those questions I drafted.  I think I know what I would recommend, but I'd like to check with you two first.


I think those were supposed to work.


Ohje... https://de.wikipedia.org/wiki/Unicodeblock_Vereinheitlichte_Silbenzeichen_kanadischer_Ureinwohner
Hast du eine Idee? :smile:

Gemeint sind aber auf jeden Fall die Glyphen der indigenen Schrift, nicht die Ureinwohner selbst.

Vielleicht "Kanadisch Indigen"?


это строчка бесполезная


-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job.  Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------

--[[
        Custom commands:64

        Shorthand versions for each strategem type that uses the version appropriate for
        the current Arts.
		In-game macro: /console gs c scholar xxx

                                        Light Arts              Dark Arts

        gs c scholar light              Light Arts/Addendum
        gs c scholar dark                                       Dark Arts/Addendum
        gs c scholar cost               Penury                  Parsimony
        gs c scholar speed              Celerity                Alacrity
        gs c scholar aoe                Accession               Manifestation
        gs c scholar power              Rapture                 Ebullience
        gs c scholar duration           Perpetuance
        gs c scholar accuracy           Altruism                Focalization
        gs c scholar enmity             Tranquility             Equanimity
        gs c scholar skillchain                                 Immanence
        gs c scholar addendum           Addendum: White         Addendum: Black
--]]

-- Initialization function for this job file.
function get_sets()
    mote_include_version = 2

    -- Load and initialize the include file.
    include('Mote-Include.lua')
	include('organizer-lib')
	include('caster_buffWatcher.lua')
	buffWatcher.watchList = {
						["Aquaveil"]="Aquaveil",
                        ["Aquaveil"]="Aquaveil",
                        ["Haste"]="Haste",
                        ["Stoneskin"]="Stoneskin",
                        ["Phalanx"]="Phalanx",
                        ["Protect"]="Protect V",
                        ["Shell"]="Shell V",
						["Blink"]="Blink",
                        }
    include('SCH_helix_timer.lua')
	include('common_info.skillchain.lua')
	include('SCH_soloSC.lua')
	include('common_info.status.lua')
end

-- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
function job_setup()

    info.addendumNukes = S{"Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",
        "Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"}

    state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
	update_active_strategems()

end

-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------

-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
    state.OffenseMode:options('None', 'Normal')
    state.CastingMode:options('Normal', 'Resistant')
    state.IdleMode:options('Normal', 'PDT')

    state.MagicBurst = M(false, 'Magic Burst')

	info.Helix = S{"Geohelix","Hydrohelix","Anemohelix","Pyrohelix","Cryohelix","Ionohelix","Luminohelix","Noctohelix",
                  "Geohelix II","Hydrohelix II","Anemohelix II","Pyrohelix II","Cryohelix II","Ionohelix II","Luminohelix II","Noctohelix II"}

    info.low_nukes = S{"Stone", "Water", "Aero", "Fire", "Blizzard", "Thunder",
	                   "Stone II", "Water II", "Aero II", "Fire II", "Blizzard II", "Thunder II"}
    info.mid_nukes = S{}

    info.high_nukes = S{"Stone III", "Water III", "Aero III", "Fire III", "Blizzard III", "Thunder III",
					    "Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",
	                    "Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"}

    send_command('bind ` input /ma Stun <t>; wait 0.5; input /p Casting STUN on <t>.')
	send_command('bind ^` gs c toggle MagicBurst')
	send_command('bind !` input /ma Drain <t>')
	send_command('bind ^- gs c scholar light')
	send_command('bind ^= gs c scholar dark')
	send_command('bind delete gs c scholar speed')
	send_command('bind Home gs c scholar duration')-- sleep en darks arts
	send_command('bind End gs c scholar aoe')
    send_command('bind !- input /ja "Sublimation" <me>; wait 0.5; input /echo Sublimation ')
	send_command('bind != input /ma "Distract" <t>')
    select_default_macro_book()
end
function file_unload()
    if binds_on_unload then
        binds_on_unload()
    end
end
function user_unload()
	send_command('unbind `')
	send_command('unbind ^`')
	send_command('unbind !`')
	send_command('unbind ^-')
	send_command('unbind ^=')
	send_command('unbind !-')
	send_command('unbind !=')
	send_command('unbind delete')
	send_command('unbind end')
	send_command('unbind home')
end

-- Define sets and vars used by this job file.
function init_gear_sets()
	--------------------------------------
	-- Start defining the sets
	--------------------------------------

	-- Precast Sets

	-- Precast sets to enhance JAs

	sets.precast.JA['Tabula Rasa'] = {legs="Peda. Pants +1"}
	sets.precast.JA['Dark Arts'] = {body="Academic's Gown +1"}
	sets.precast.JA['Light Arts'] = {legs="Academic's Pants +1"}
	sets.precast.JA['Enlightenment'] = {body="Peda. Gown +1"}
	-- Fast cast sets for spells

	sets.lockstyle={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Witching Robe", augments={'MP+50','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
    hands="Arbatel Bracers +1",
    legs={ name="Lengo Pants", augments={'INT+10','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
    feet="Regal Pumps +1",
    neck="Sanctity Necklace",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Loquac. Earring",
    left_ring="Karieyh Ring",
    right_ring="Sheltered Ring",
    back="Izdubar Mantle",
}

	sets.precast.FC={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Impatiens",
    head={ name="Merlinic Hood", augments={'Mag. Acc.+11','"Fast Cast"+6','CHR+9',}},
    body={ name="Merlinic Jubbah", augments={'"Fast Cast"+6','MND+5','"Mag.Atk.Bns."+10',}},
    hands={ name="Merlinic Dastanas", augments={'Attack+17','"Fast Cast"+6','INT+4','"Mag.Atk.Bns."+11',}},
    legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+9','"Fast Cast"+6','"Mag.Atk.Bns."+13',}},
    neck="Baetyl Pendant",
    waist="Witful Belt",
    left_ear="Enchntr. Earring +1",
    right_ear="Loquac. Earring",
    left_ring="Rahab Ring",
    right_ring="Lebeche Ring",
    back="Perimede Cape",
}
sets.precast.FC.Storm ={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Strobilus",
    head={ name="Merlinic Hood", augments={'Mag. Acc.+11','"Fast Cast"+6','CHR+9',}},
    body={ name="Merlinic Jubbah", augments={'"Fast Cast"+6','MND+5','"Mag.Atk.Bns."+10',}},
    hands={ name="Merlinic Dastanas", augments={'Attack+17','"Fast Cast"+6','INT+4','"Mag.Atk.Bns."+11',}},
    legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+9','"Fast Cast"+6','"Mag.Atk.Bns."+13',}},
    neck="Baetyl Pendant",
    waist="Cascade Belt",
    left_ear="Enchntr. Earring +1",
    right_ear="Loquac. Earring",
    left_ring="Rahab Ring",
    right_ring="prolix Ring",
    back={ name="Bookworm's Cape", augments={'INT+5','MND+4','Helix eff. dur. +19',}},
}

	sets.precast.FC.Cure={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Impatiens",
    head={ name="Merlinic Hood", augments={'Mag. Acc.+11','"Fast Cast"+6','CHR+9',}},
    body={ name="Merlinic Jubbah", augments={'"Fast Cast"+6','MND+5','"Mag.Atk.Bns."+10',}},
    hands={ name="Telchine Gloves", augments={'Mag. Acc.+13 "Mag.Atk.Bns."+13','"Cure" potency +7%','Enh. Mag. eff. dur. +8',}},
    legs="Doyen Pants",
    feet={ name="Vanya Clogs", augments={'"Cure" potency +5%','"Cure" spellcasting time -15%','"Conserve MP"+6',}},
    neck="Baetyl Pendant",
    waist="Witful Belt",
    left_ear="Enchntr. Earring +1",
    right_ear="Mendi. Earring",
    left_ring="Rahab Ring",
    right_ring="Lebeche Ring",
    back="Pahtli Cape",
}

	sets.precast.FC.Curaga = sets.precast.FC.Cure

	sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})

    sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'], { waist="Gishdubar Sash",feet="Inspirited Boots"})

	sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {neck="Baetyl Pendant"})

	sets.precast.FC.Impact = set_combine(sets.precast.FC['Elemental Magic'], {head=empty,body="Twilight Cloak"})

	sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], { head="Umuthi Hat", neck="Nodens Gorget",hands="Carapacho Cuffs"})

	-- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {}

    -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
	sets.precast.WS['Myrkr']={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Strobilus",
    head={ name="Amalric Coif", augments={'MP+60','INT+10','Enmity-5',}},
    body={ name="Amalric Doublet", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
    hands={ name="Peda. Bracers +1", augments={'Enh. "Tranquility" and "Equanimity"',}},
    legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
    feet="Arbatel Loafers +1",
    neck="Sanctity Necklace",
    waist="Yamabuki-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Mendi. Earring",
    left_ring="Etana Ring",
    right_ring="Sangoma Ring",
    back="Pahtli Cape",
}

	-- Midcast Sets

	sets.midcast.FastRecast={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Strobilus",
    head={ name="Merlinic Hood", augments={'Mag. Acc.+11','"Fast Cast"+6','CHR+9',}},
    body={ name="Merlinic Jubbah", augments={'"Fast Cast"+6','MND+5','"Mag.Atk.Bns."+10',}},
    hands={ name="Merlinic Dastanas", augments={'"Occult Acumen"+8','INT+10','Mag. Acc.+15',}},
    legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Occult Acumen"+11','INT+4','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
    neck="Baetyl Pendant",
    waist="Cetl Belt",
    left_ear="Etiolation Earring",
    right_ear="Mendi. Earring",
    left_ring="Fenrir Ring +1",
    right_ring="Fenrir Ring +1",
    back="Perimede Cape",
}

	-- Cure Sets

	sets.midcast.Cure = {
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Impatiens",
    head={ name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
    body={ name="Peda. Gown +1", augments={'Enhances "Enlightenment" effect',}},
    hands={ name="Telchine Gloves", augments={'Mag. Acc.+13 "Mag.Atk.Bns."+13','"Cure" potency +7%','Enh. Mag. eff. dur. +8',}},
    legs="Gyve Trousers",
    feet={ name="Vanya Clogs", augments={'"Cure" potency +5%','"Cure" spellcasting time -15%','"Conserve MP"+6',}},
    neck="Nodens Gorget",
    waist="Witful Belt",
    left_ear="Etiolation Earring",
    right_ear="Mendi. Earring",
    left_ring="Haoma's ring",
    right_ring="Sirona's Ring",
    back="Solemnity Cape",
}

	sets.midcast.CureWithLightWeather = set_combine(sets.midcast.Cure, {
    waist="Hachirin-no-Obi",})

    sets.self_healing = {neck="Phalaina Locket",waist="Gishdubar Sash",ring2="Kunaji Ring"}

	sets.midcast.Curaga = sets.midcast.Cure

	sets.midcast.Regen={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Strobilus",
    head="Arbatel Bonnet +1",
    body={ name="Telchine Chas.", augments={'Evasion+19','"Cure" potency +4%','Enh. Mag. eff. dur. +8',}},
    hands={ name="Telchine Gloves", augments={'Mag. Acc.+13 "Mag.Atk.Bns."+13','"Cure" potency +7%','Enh. Mag. eff. dur. +8',}},
    legs={ name="Telchine Braconi", augments={'Evasion+18','"Fast Cast"+5','Enh. Mag. eff. dur. +8',}},
    feet={ name="Telchine Pigaches", augments={'Accuracy+15 Attack+15','"Fast Cast"+4','Enh. Mag. eff. dur. +9',}},
    neck="Sanctity Necklace",
    waist="Yamabuki-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Loquac. Earring",
    left_ring="Rahab Ring",
    right_ring="Sangoma Ring",
    back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}

    sets.Refresh={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Amalric Coif", augments={'INT+10','Elem. magic skill +15','Dark magic skill +15',}},
    body={ name="Witching Robe", augments={'MP+50','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
    hands={ name="Peda. Bracers +1", augments={'Enh. "Tranquility" and "Equanimity"',}},
    legs={ name="Lengo Pants", augments={'INT+10','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
    feet="Inspirited Boots",
    neck="Incanter's Torque",
    waist="Gishdubar Sash",
    left_ear="Etiolation Earring",
    right_ear="Loquac. Earring",
    left_ring="Karieyh Ring",
    right_ring="Sheltered Ring",
    back="Perimede Cape",
}
	-- Enhancing Magic Sets

	sets.midcast['Enhancing Magic']={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
	head={ name="Telchine Cap", augments={'Mag. Evasion+25','"Conserve MP"+3','Enh. Mag. eff. dur. +10',}},
    body={ name="Telchine Chas.", augments={'Evasion+19','"Cure" potency +4%','Enh. Mag. eff. dur. +8',}},
    hands={ name="Telchine Gloves", augments={'Mag. Acc.+13 "Mag.Atk.Bns."+13','"Cure" potency +7%','Enh. Mag. eff. dur. +8',}},
    legs={ name="Telchine Braconi", augments={'Evasion+18','"Fast Cast"+5','Enh. Mag. eff. dur. +8',}},
    feet={ name="Telchine Pigaches", augments={'Accuracy+15 Attack+15','"Fast Cast"+4','Enh. Mag. eff. dur. +9',}},
    neck="Incanter's Torque",
    waist="Cascade Belt",
    left_ear="Digni. Earring",
    right_ear="Augment. Earring",
    left_ring="Etana Ring",
    right_ring="Sangoma Ring",
    back="Perimede Cape",
}

	sets.midcast.Cursna = {
		neck="Incanter's Torque",ring1="Haoma's Ring",ring2="Sirona's Ring",waist="Gishdubar Sash",}

	sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {neck="Nodens Gorget",waist="Siegel Sash",legs="Doyen Pants"})

	sets.midcast.Storm = set_combine(sets.midcast['Enhancing Magic'], {feet="Peda. Loafers +1"})

	sets.midcast.Protect = {ring1="Sheltered Ring"}
	sets.midcast.Protectra = sets.midcast.Protect
	sets.midcast.Shell = {ring1="Sheltered Ring"}
	sets.midcast.Shellra = sets.midcast.Shell
	sets.midcast.Haste = sets.midcast['Enhancing Magic']
	sets.midcast.Erase = sets.midcast.FastRecast

	-- Custom spell classes
	sets.midcast['Enfeebling Magic']={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Vanya Robe", augments={'MND+10','Spell interruption rate down +15%','"Conserve MP"+6',}},
    hands={ name="Peda. Bracers +1", augments={'Enh. "Tranquility" and "Equanimity"',}},
    legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
    feet={ name="Medium's Sabots", augments={'MP+25','"Conserve MP"+2',}},
    neck="Incanter's Torque",
    waist="Casso Sash",
    left_ear="Barkaro. Earring",
    right_ear="Digni. Earring",
    left_ring="Globidonta Ring",
    right_ring="Sangoma Ring",
    back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}

	sets.midcast.Kaustra ={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Pixie Hairpin +1",
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Mag. crit. hit dmg. +6%','INT+12','"Mag.Atk.Bns."+11',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','INT+9','Mag. Acc.+10','"Mag.Atk.Bns."+11',}},
    legs={ name="Peda. Pants +1", augments={'Enhances "Tabula Rasa" effect',}},
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Occult Acumen"+11','INT+4','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
    neck="Incanter's Torque",
    waist="Casso Sash",
    left_ear="Barkaro. Earring",
    right_ear="Dark Earring",
    left_ring="Archon Ring",
    right_ring="Shiva Ring +1",
    back="Lugh's Cape",
}

	sets.midcast['Dark Magic'] = {
    main="Akademos",
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Amalric Coif", augments={'INT+10','Elem. magic skill +15','Dark magic skill +15',}},
    body="Psycloth Vest",
    hands="Amalric Gages",
    legs="Peda. Pants +1",
    feet="Arbatel Loafers +1",
    neck="Incanter's Torque",
    waist="Casso Sash",
    left_ear="Strophadic Earring",
    right_ear="Barkaro. Earring",
    left_ring="Archon Ring",
    right_ring="Evanescence Ring",
    back="BookWorm's Cape",
}

	sets.midcast.Drain ={
    main="Akademos",
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Striga Crown",
    body="Psycloth Vest",
    hands="Amalric Gages",
    legs="Peda. Pants +1",
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Occult Acumen"+11','INT+4','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
    neck="Incanter's Torque",
    waist="Fucho-no-Obi",
    left_ear="Barkarole earring",
    right_ear="Gwati Earring",
    left_ring="Archon Ring",
    right_ring="Evanescence Ring",
    back="BookWorm's Cape",
}

    sets.midcast.Klimaform={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Amalric Coif", augments={'INT+10','Elem. magic skill +15','Dark magic skill +15',}},
    body={ name="Psycloth Vest", augments={'Mag. Acc.+10','Spell interruption rate down +15%','MND+7',}},
    hands={ name="Merlinic Dastanas", augments={'"Occult Acumen"+8','INT+10','Mag. Acc.+15',}},
    legs={ name="Peda. Pants +1", augments={'Enhances "Tabula Rasa" effect',}},
    feet="Arbatel Loafers +1",
    neck="Incanter's Torque",
    waist="Casso Sash",
    left_ear="Dark Earring",
    right_ear="Barkaro. Earring",
    left_ring="Archon Ring",
    right_ring="Evanescence Ring",
    back={ name="Bookworm's Cape", augments={'INT+5','MND+4','Helix eff. dur. +19',}},
}

	sets.midcast.Aspir = sets.midcast.Drain

	sets.midcast.Stun={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Amalric Coif", augments={'INT+10','Elem. magic skill +15','Dark magic skill +15',}},
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Magic burst mdg.+8%','INT+6','Mag. Acc.+13','"Mag.Atk.Bns."+15',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','INT+9','Mag. Acc.+10','"Mag.Atk.Bns."+11',}},
    legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+22 "Mag.Atk.Bns."+22','Magic Damage +13','INT+10','"Mag.Atk.Bns."+11',}},
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Occult Acumen"+11','INT+4','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
    neck="Incanter's Torque",
    waist="Casso Sash",
    left_ear="Digni. Earring",
    right_ear="Barkaro. Earring",
    left_ring="Fenrir Ring +1",
    right_ring="Fenrir Ring +1",
    back={ name="Bookworm's Cape", augments={'INT+5','MND+4','Helix eff. dur. +19',}},
}
	sets.midcast.Stun.Resistant = set_combine(sets.midcast.Stun, {})

	 --Elemental Magic sets are default for handling low-tier nukes.
	sets.midcast['Elemental Magic']={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Conserve MP"+1','INT+6','Mag. Acc.+15','"Mag.Atk.Bns."+13',}},
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Mag. crit. hit dmg. +6%','INT+12','"Mag.Atk.Bns."+11',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','INT+9','Mag. Acc.+10','"Mag.Atk.Bns."+11',}},
    legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+22 "Mag.Atk.Bns."+22','Magic Damage +13','INT+10','"Mag.Atk.Bns."+11',}},
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Occult Acumen"+11','INT+4','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
    neck="Saevus Pendant +1",
    waist="Yamabuki-no-Obi",
    left_ear="Barkaro. Earring",
    right_ear="Friomisi Earring",
    left_ring="Fenrir Ring +1",
    right_ring="Fenrir Ring +1",
    back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}

	sets.midcast['Elemental Magic'].Resistant =set_combine( sets.midcast['Elemental Magic'].HighTierNuke,{ neck="Sanctity Necklace"})

	-- Custom refinements for certain nuke tiers
	sets.midcast['Elemental Magic'].HighTierNuke={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Merlinic Hood", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Conserve MP"+1','INT+6','Mag. Acc.+15','"Mag.Atk.Bns."+13',}},
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Mag. crit. hit dmg. +6%','INT+12','"Mag.Atk.Bns."+11',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','INT+9','Mag. Acc.+10','"Mag.Atk.Bns."+11',}},
    legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+22 "Mag.Atk.Bns."+22','Magic Damage +13','INT+10','"Mag.Atk.Bns."+11',}},
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Occult Acumen"+11','INT+4','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
    neck="Mizu. Kubikazari",
    waist="Yamabuki-no-Obi",
    left_ear="Barkaro. Earring",
    right_ear="Friomisi Earring",
    left_ring="Shiva Ring +1",
    right_ring="Shiva Ring +1",
    back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
	sets.midcast.Impact =
	{
	  main="Akademos",
    sub="Niobid Strap",
    ammo="Seraphic Ampulla",
	head=empty,
    body="Twilight Cloak",
    hands={ name="Merlinic Dastanas", augments={'"Occult Acumen"+8','INT+10','Mag. Acc.+15',}},
    legs="Perdition Slops",
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Occult Acumen"+11','INT+4','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
    neck="Combatant's Torque",
    waist="Oneiros Rope",
    left_ear="Dedition Earring",
    right_ear="Digni. Earring",
    left_ring="Petrov Ring",
    right_ring="Rajas Ring",
    back="Izdubar Mantle",
	}

	sets.midcast.Helix={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head={ name="Amalric Coif", augments={'INT+10','Elem. magic skill +15','Dark magic skill +15',}},
    body={ name="Merlinic Jubbah", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Mag. crit. hit dmg. +6%','INT+12','"Mag.Atk.Bns."+11',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','INT+9','Mag. Acc.+10','"Mag.Atk.Bns."+11',}},
    legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+11%','INT+4',}},
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic burst mdg.+9%','INT+7','Mag. Acc.+4','"Mag.Atk.Bns."+12',}},
    neck="Incanter's Torque",
    waist="Yamabuki-no-Obi",
    left_ear="Digni. Earring",
    right_ear="Barkaro. Earring",
    left_ring="Shiva Ring +1",
    right_ring="Shiva Ring +1",
    back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},
}
	sets.midcast.Noctohelix = set_combine(sets.midcast.Helix, {head="Pixie Hairpin +1"})

	-- Sets to return to when not performing an action.

	-- Resting sets
	sets.resting = {
    main="Akademos",
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body="Witching Robe",
    hands="Arbatel Bracers +1",
    legs="Arbatel Pants +1",
    feet="Regal Pumps +1",
    neck="Sanctity Necklace",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Loquac. Earring",
    left_ring="Karieyh Ring",
    right_ring="Sheltered Ring",
    back="Izdubar Mantle",
}

	-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)

	sets.idle.Town ={
    main="Akademos",
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Arbatel Bonnet +1",
    body="Witching Robe",
    hands="Arbatel Bracers +1",
    legs="Arbatel Pants +1",
    feet="Peda. Loafers +1",
    neck="Sanctity Necklace",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Loquac. Earring",
    left_ring="Karieyh Ring",
    right_ring="Sheltered Ring",
     back="Lugh's Cape",
}

	sets.idle.Field ={
    main="Akademos",
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body="Witching Robe",
    hands="Arbatel Bracers +1",
    legs="Lengo Pants",
    feet="Regal Pumps +1",
    neck="Sanctity Necklace",
    waist="Fucho-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Loquac. Earring",
    left_ring="Karieyh Ring",
    right_ring="Sheltered Ring",
    back="Izdubar Mantle",
}

	sets.idle.Weak = sets.idle.Field

	-- Defense sets

	sets.defense.PDT = {
	main="Akademos",
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Arbatel Bonnet +1",
    body="Arbatel Gown +1",
    hands="Chironic Gloves",
    legs="Gyve Trousers",
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Occult Acumen"+11','INT+4','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
    neck="Loricate Torque +1",
    waist="Gishdubar Sash",
    left_ear="Etiolation Earring",
    right_ear="Infused Earring",
    left_ring="Patricius Ring",
    right_ring="Defending Ring",
    back="Solemnity Cape"
}

	sets.defense.MDT = {
    main="Akademos",
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Arbatel Bonnet +1",
    body="Arbatel Gown +1",
    hands="Chironic Gloves",
    legs="Gyve Trousers",
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','"Occult Acumen"+11','INT+4','Mag. Acc.+5','"Mag.Atk.Bns."+13',}},
    neck="Loricate Torque +1",
    waist="Gishdubar Sash",
    left_ear="Etiolation Earring",
    right_ear="Infused Earring",
    left_ring="Archon Ring",
    right_ring="Defending Ring",body={ name="Merlinic Jubbah", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Magic burst mdg.+8%','INT+6','Mag. Acc.+13','"Mag.Atk.Bns."+15',}},
    legs="Merlinic Shalwar",
    back="Solemnity Cape",
}

	sets.Kiting = {feet="Herald's Gaiters"}

	sets.latent_refresh = { body="Witching Robe",legs="Lengo Pants",waist="Fucho-No-Obi"}

	-- Engaged sets

	-- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
	-- sets if more refined versions aren't defined.
	-- If you create a set with both offense and defense modes, the offense mode should be first.
	-- EG: sets.engaged.Dagger.Accuracy.Evasion

	-- Normal melee group
	sets.engaged ={
    main={ name="Akademos", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
    sub="Niobid Strap",
    ammo="Pemphredo Tathlum",
    head="Befouled Crown",
    body={ name="Witching Robe", augments={'MP+50','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
    hands={ name="Chironic Gloves", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','INT+9','Mag. Acc.+10','"Mag.Atk.Bns."+11',}},
    legs={ name="Lengo Pants", augments={'INT+10','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Refresh"+1',}},
    feet={ name="Telchine Pigaches", augments={'Accuracy+15 Attack+15','"Fast Cast"+4','Enh. Mag. eff. dur. +9',}},
    neck="Combatant's Torque",
    waist="Eschan Stone",
    left_ear="Etiolation Earring",
    right_ear="Digni. Earring",
    left_ring="Petrov Ring",
    right_ring="Rajas Ring",
    back="Relucent Cape",
}

	-- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
	sets.buff['Ebullience'] = {head="Arbatel Bonnet +1"}
	sets.buff['Rapture'] = {head="Arbatel Bonnet +1"}
	sets.buff['Perpetuance'] = {hands="Arbatel Bracers +1"}
	sets.buff['Immanence'] = {hands="Arbatel Bracers +1"}
	sets.buff['Penury'] = {legs="Arbatel Pants +1"}
	sets.buff['Parsimony'] = {legs="Arbatel Pants +1"}
	sets.buff['Celerity'] = {feet="Pedagogy Loafers +1"}
	sets.buff['Alacrity'] = {feet="Pedagogy Loafers +1"}
	sets.buff['Stormsurge'] = {feet="Pedagogy Loafers +1"}
	sets.buff['Klimaform'] = {feet="Arbatel Loafers +1"}

	sets.buff.FullSublimation = { head="Acad. Mortar. +1",ear1="Savant's Earring",body="Pedagogy Gown +1"}
	sets.buff.PDTSublimation = { head="Acad. Mortar. +1",ear1="Savant's Earring",body="Pedagogy Gown +1"}

	sets.magic_burst =set_combine( sets.midcast['Elemental Magic'].HighTierNuke,
	{neck="Mizu. Kubikazari",hands="Amalric Gages",
   -- body={ name="Merlinic Jubbah", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Magic burst mdg.+8%','INT+6','Mag. Acc.+13','"Mag.Atk.Bns."+15',}},
    legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+11%','INT+4',}},
	feet={ name="Merlinic Crackows", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic burst mdg.+9%','INT+7','Mag. Acc.+4','"Mag.Atk.Bns."+12',}},
    back="Lugh's Cape",ring2="Mujin Band"})

end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
function job_precast(spell, action, spellMap, eventArgs)
    refine_various_spells(spell, action, spellMap, eventArgs)

	if spell.english == 'Sneak' and buffactive.sneak then
        send_command('@wait 1;cancel 71;')
    end

end

function job_buff_change(buff, gain)
  for index,value in pairs(buffWatcher.watchList) do
    if index==buff then
      buffWatch()
    end
  end
end
-------------------------------------Aspir,Sleep/ga Nuke's refine rules (thanks Asura.Vafruvant for this code)-----------------------------------
function refine_various_spells(spell, action, spellMap, eventArgs)
    aspirs = S{'Aspir','Aspir II'}
    sleeps = S{'Sleep','Sleep II'}

	nukes = S{'Fire', 'Blizzard', 'Aero', 'Stone', 'Thunder', 'Water',
        'Fire II', 'Blizzard II', 'Aero II', 'Stone II', 'Thunder II', 'Water II',
        'Fire III', 'Blizzard III', 'Aero III', 'Stone III', 'Thunder III', 'Water III',
        'Fire IV', 'Blizzard IV', 'Aero IV', 'Stone IV', 'Thunder IV', 'Water IV',
        'Fire V', 'Blizzard V', 'Aero V', 'Stone V', 'Thunder V', 'Water V',

		}

    if not  sleeps:contains(spell.english) and not aspirs:contains(spell.english) and not nukes:contains(spell.english)then
        return
    end

    local newSpell = spell.english
    local spell_recasts = windower.ffxi.get_spell_recasts()
    local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'

    if spell_recasts[spell.recast_id] > 0 then
        if aspirs:contains(spell.english) then
            if spell.english == 'Aspir' then
                add_to_chat(122,cancelling)
                eventArgs.cancel = true
                return
            elseif spell.english == 'Aspir II' then
                newSpell = 'Aspir'

            end
        elseif sleeps:contains(spell.english) then
            if spell.english == 'Sleep' then
                add_to_chat(122,cancelling)
                eventArgs.cancel = true
                return
            elseif spell.english == 'Sleep II' then
                newSpell = 'Sleep'
            end

		elseif nukes:contains(spell.english) then
			if spell.english == 'Fire' then
			   eventArgs.cancel = true
                return
            elseif spell.english == 'Fire V' then
                newSpell = 'Fire IV'
			elseif spell.english == 'Fire IV' then
                newSpell = 'Fire III'
			elseif spell.english == 'Fire III' then
                newSpell = 'Fire II'
			elseif spell.english == 'Fire II' then
                newSpell = 'Fire'
            end
			if spell.english == 'Blizzard' then
			   eventArgs.cancel = true
                return
			elseif spell.english == 'Blizzard V' then
                newSpell = 'Blizzard IV'
			elseif spell.english == 'Blizzard IV' then
                newSpell = 'Blizzard III'
			elseif spell.english == 'Blizzard III' then
                newSpell = 'Blizzard II'
			elseif spell.english == 'Blizzard II' then
                newSpell = 'Blizzard'
			end
			if spell.english == 'Aero' then
			   eventArgs.cancel = true
                return
			elseif spell.english == 'Aero V' then
                newSpell = 'Aero IV'
			elseif spell.english == 'Aero IV' then
                newSpell = 'Aero III'
			elseif spell.english == 'Aero III' then
                newSpell = 'Aero II'
			elseif spell.english == 'Aero II' then
                newSpell = 'Aero'
			end
			if spell.english == 'Stone' then
			   eventArgs.cancel = true
                return
			elseif spell.english == 'Stone V' then
                newSpell = 'Stone IV'
			elseif spell.english == 'Stone IV' then
                newSpell = 'Stone III'
			elseif spell.english == 'Stone III' then
                newSpell = 'Stone II'
			elseif spell.english == 'Stone II' then
                newSpell = 'Stone'
			end
			if spell.english == 'Thunder' then
			   eventArgs.cancel = true
                return
			elseif spell.english == 'Thunder V' then
                newSpell = 'Thunder IV'
			elseif spell.english == 'Thunder IV' then
                newSpell = 'Thunder III'
			elseif spell.english == 'Thunder III' then
                newSpell = 'Thunder II'
			elseif spell.english == 'Thunder II' then
                newSpell = 'Thunder'
			end
			if spell.english == 'Water' then
			   eventArgs.cancel = true
                return
			elseif spell.english == 'Water V' then
                newSpell = 'Water IV'
			elseif spell.english == 'Water IV' then
                newSpell = 'Water III'
			elseif spell.english == 'Water III' then
                newSpell = 'Water II'
			elseif spell.english == 'Water II' then
                newSpell = 'Water'
			end
        end
    end

    if newSpell ~= spell.english then
        send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
        eventArgs.cancel = true
        return
    end
end
function job_precast(spell, action, spellMap, eventArgs)
    refine_various_spells(spell, action, spellMap, eventArgs)

	if spell.english == 'Sneak' and buffactive.sneak then
        send_command('@wait 1;cancel 71;')
    end
	buffWatcher.casting = true

end

-- Run after the general midcast() is done.
function job_post_midcast(spell, action, spellMap, eventArgs)

     if spellMap == 'Cure' and spell.target.type == 'SELF' then
        equip(sets.self_healing)
    end
    if spell.action_type == 'Magic' then
        apply_grimoire_bonuses(spell, action, spellMap, eventArgs)
    end
	if spell.skill == 'Elemental Magic'  then
        if spell.element == world.day_element or spell.element == world.weather_element then
            equip({waist="Hachirin-No-Obi"})
            add_to_chat(8,'----- Obi Equipped. -----')
        end
    end
	if spell.skill == 'Elemental Magic' then
        if state.MagicBurst.value then
        equip(sets.magic_burst)
        end
	end
end

function job_aftercast(spell)

end
function job_aftercast(spell, action, spellMap, eventArgs)
  if spell.english == 'Sleep' then
        send_command('@wait 50;input /echo ------- '..spell.english..' is wearing off in 10 seconds -------')
    elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
        send_command('@wait 80;input /echo ------- '..spell.english..' is wearing off in 10 seconds -------')
    elseif spell.english == 'Break' or spell.english == 'Breakga' then
        send_command('@wait 20;input /echo ------- '..spell.english..' is wearing off in 10 seconds -------')
    end
 if spell.english == 'Sleep II' then
    send_command('timers c "Sleep II" 90 down spells/00259.png')
  elseif spell.english == 'Sleep' then
    send_command('timers c "Sleep" 60 down spells/00253.png')
  elseif spell.english == 'Break' then
    send_command('timers c "Break" 30 down spells/00255.png')
  end
	buffWatcher.casting = false
-- helix timers
  if (not spell.interrupted) then
    if info.Helix:contains(spell.english) then
        createTimerHelix(spell.english)
    end
    if (spell.english=='Modus Veritas' or spell.english=='Stone') then
      createTimerModusVeritas()
    end
  end -- end of helix timers

end -- end of the function
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------

-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
    if buff == "Sublimation: Activated" then
        handle_equipping_gear(player.status)
    end
	 for index,value in pairs(buffWatcher.watchList) do
    if index==buff then
      buffWatch()
    end
  end
end

-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
    if stateField == 'Offense Mode' then
        if newValue == 'Normal' then
            disable('main','sub','range')
        else
            enable('main','sub','range')
        end
    end
end

-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------

-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
    if spell.action_type == 'Magic' then
        if default_spell_map == 'Cure' or default_spell_map == 'Curaga' then

            if world.weather_element == 'Light' then
                return 'CureWithLightWeather'
            end
        elseif spell.skill == 'Enfeebling Magic' then
            if spell.type == 'WhiteMagic' then
                return 'MndEnfeebles'
            else
                return 'IntEnfeebles'
            end
        elseif spell.skill == 'Elemental Magic' then
            if info.low_nukes:contains(spell.english) then
                return 'LowTierNuke'
            elseif info.mid_nukes:contains(spell.english) then
                return 'MidTierNuke'
            elseif info.high_nukes:contains(spell.english) then
                return 'HighTierNuke'
            end
        end
    end
end

function customize_idle_set(idleSet)
    if state.Buff['Sublimation: Activated'] then
        if state.IdleMode.value == 'Normal' then
            idleSet = set_combine(idleSet, sets.buff.FullSublimation)
        elseif state.IdleMode.value == 'PDT' then
            idleSet = set_combine(idleSet, sets.buff.PDTSublimation)
        end
    end

    if player.mpp < 51 then
        idleSet = set_combine(idleSet, sets.latent_refresh)
    end

    return idleSet
end

-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
    if cmdParams[1] == 'user' and not (buffactive['light arts']      or buffactive['dark arts'] or
                       buffactive['addendum: white'] or buffactive['addendum: black']) then
        if state.IdleMode.value == 'Stun' then
            send_command('@input /ja "Dark Arts" <me>')
        else
            send_command('@input /ja "Light Arts" <me>')
        end
    end

    update_active_strategems()
    update_sublimation()
end

-- Function to display the current relevant user state when doing an update.
-- Return true if display was handled, and you don't want the default info shown.
function display_current_job_state(eventArgs)
    display_current_caster_state()
    eventArgs.handled = true
end

-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------

-- Called for direct player commands.
function job_self_command(cmdParams, eventArgs)
    if cmdParams[1] == 'soloSC' then
    if not cmdParams[2] or not cmdParams[3] then
      errlog('missing required parameters for function soloSkillchain')
      return
    else
      soloSkillchain(cmdParams[2],cmdParams[3],cmdParams[4])
    end
end

    if cmdParams[1]:lower() == 'scholar' then
        handle_strategems(cmdParams)
        eventArgs.handled = true
    end
	-- maybe some other stuff
  if cmdParams[1] == 'buffWatcher' then
	  buffWatch(cmdParams[2],cmdParams[3])
  end
  if cmdParams[1] == 'stopBuffWatcher' then
	  stopBuffWatcher()
  end
-- maybe some other stuff
end

-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Reset the state vars tracking strategems.5
-- Reset the state vars tracking strategems.
function update_active_strategems()
    state.Buff['Ebullience'] = buffactive['Ebullience'] or false
    state.Buff['Rapture'] = buffactive['Rapture'] or false
    state.Buff['Perpetuance'] = buffactive['Perpetuance'] or false
    state.Buff['Immanence'] = buffactive['Immanence'] or false
    state.Buff['Penury'] = buffactive['Penury'] or false
    state.Buff['Parsimony'] = buffactive['Parsimony'] or false
    state.Buff['Celerity'] = buffactive['Celerity'] or false
    state.Buff['Alacrity'] = buffactive['Alacrity'] or false

    state.Buff['Klimaform'] = buffactive['Klimaform'] or false
end

function update_sublimation()
    state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false

end

-- Equip sets appropriate to the active buffs, relative to the spell being cast.
function apply_grimoire_bonuses(spell, action, spellMap)
    if buffactive.perpetuance and spell.type =='WhiteMagic' and spell.skill == 'Enhancing Magic' then
        equip(sets.buff.Perpetuance)
    end
    if  buffactive.Rapture and (spellMap == 'Cure' or spellMap == 'Curaga') then
        equip(state.Buff.Rapture)
    end
    if spell.skill == 'Elemental Magic' or spellMap ~= 'ElementalEnfeeble' then
        if buffactive.Ebullience and spell.english ~= 'Impact' then
            equip(sets.buff.Ebullience)
        end
        if  buffactive.Immanence then
            equip(sets.buff.Immanence)
        end
        if buffactive.Klimaform and spell.element == world.weather_element then
            equip(sets.buff.Klimaform)
        end
    end

    if buffactive.Penury then equip(sets.buff.Penury) end
    if buffactive.Parsimony then equip(sets.buff.Parsimony) end
    if buffactive.Celerity then equip(sets.buff.Celerity) end
    if buffactive.Alacrity then equip(sets.buff.Alacrity) end
end

function display_current_caster_state()
	local msg = ''

	if state.OffenseMode.value ~= 'None' then
		msg = msg .. 'Melee'

		if state.CombatForm.has_value then
			msg = msg .. ' (' .. state.CombatForm.value .. ')'
		end

		msg = msg .. ', '
	end

	msg = msg .. 'Idle ['..state.IdleMode.value..'], Casting ['..state.CastingMode.value..']'

	add_to_chat(122, msg)
	local currentStrats = getNbStratagems()
	local arts
	if buffactive['Light Arts'] or buffactive['Addendum: White'] then
		arts = 'Light Arts'
	elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
		arts = 'Dark Arts'
	else
		arts = 'No Arts Activated'
	end
	add_to_chat(122, 'Current Available Strategems: ['..currentStrats..'], '..arts..'')
end

-- General handling of strategems in an Arts-agnostic way.
-- Format: gs c scholar <strategem>
function handle_strategems(cmdParams)
    -- cmdParams[1] == 'scholar'
    -- cmdParams[2] == strategem to use
	if not cmdParams[2] then
		add_to_chat(123,'Error: No strategem command given.')
		return
	end

	local currentStrats = getNbStratagems()
	local newStratCount = currentStrats - 1
	local strategem = cmdParams[2]:lower()

	if currentStrats > 0 and strategem ~= 'light' and strategem ~= 'dark' then
		add_to_chat(122, '***Current Charges Available: ['..newStratCount..']***')
	elseif currentStrats == 0 then
		add_to_chat(122, '***Out of strategems! Canceling...***')
		return
	end

	if strategem == 'light' then
		if buffactive['light arts'] then
			send_command('input /ja "Addendum: White" <me>')
			add_to_chat(122, '***Current Charges Available: ['..newStratCount..']***')
		elseif buffactive['addendum: white'] then
			add_to_chat(122,'Error: Addendum: White is already active.')
		elseif buffactive['dark arts']  or buffactive['addendum: black'] then
			send_command('input /ja "Light Arts" <me>')
			add_to_chat(122, '***Changing Arts! Current Charges Available: ['..currentStrats..']***')
		else
			send_command('input /ja "Light Arts" <me>')
		end
	elseif strategem == 'dark' then
		if buffactive['dark arts'] then
			send_command('input /ja "Addendum: Black" <me>')
			add_to_chat(122, '***Current Charges Available: ['..newStratCount..']***')
        elseif buffactive['addendum: black'] then
			add_to_chat(122,'Error: Addendum: Black is already active.')
		elseif buffactive['light arts'] or buffactive['addendum: white'] then
			send_command('input /ja "Dark Arts" <me>')
			add_to_chat(122, '***Changing Arts! Current Charges Available: ['..currentStrats..']***')
		else
			send_command('input /ja "Dark Arts" <me>')
		end
	elseif buffactive['light arts'] or buffactive['addendum: white'] then
		if strategem == 'cost' then
			send_command('@input /ja Penury <me>')
		elseif strategem == 'speed' then
			send_command('@input /ja Celerity <me>')
		elseif strategem == 'aoe' then
			send_command('@input /ja Accession <me>')
		elseif strategem == 'power' then
			send_command('@input /ja Rapture <me>')
		elseif strategem == 'duration' then
			send_command('@input /ja Perpetuance <me>')
		elseif strategem == 'accuracy' then
			send_command('@input /ja Altruism <me>')
		elseif strategem == 'enmity' then
			send_command('@input /ja Tranquility <me>')
		elseif strategem == 'skillchain' then
			add_to_chat(122,'Error: Light Arts does not have a skillchain strategem.')
		elseif strategem == 'addendum' then
			send_command('@input /ja "Addendum: White" <me>')
		else
			add_to_chat(123,'Error: Unknown strategem ['..strategem..']')
		end
	elseif buffactive['dark arts']  or buffactive['addendum: black'] then
		if strategem == 'cost' then
			send_command('@input /ja Parsimony <me>')
		elseif strategem == 'speed' then
			send_command('@input /ja Alacrity <me>')
		elseif strategem == 'aoe' then
			send_command('@input /ja Manifestation <me>')
		elseif strategem == 'power' then
			send_command('@input /ja Ebullience <me>')
		elseif strategem == 'duration' then
			send_command('@input /ma "Sleep II" <t>')
		elseif strategem == 'accuracy' then
			send_command('@input /ja Focalization <me>')
		elseif strategem == 'enmity' then
			send_command('@input /ja Equanimity <me>')
		elseif strategem == 'skillchain' then
			send_command('@input /ja Immanence <me>')
		elseif strategem == 'addendum' then
			send_command('@input /ja "Addendum: Black" <me>')

		else
			add_to_chat(123,'Error: Unknown strategem ['..strategem..']')
		end
	else
		add_to_chat(123,'No arts has been activated yet.')
	end
end

function getNbStratagems()
	local allRecasts = windower.ffxi.get_ability_recasts()
	local stratsRecast = allRecasts[231]

	local maxStrategems = math.floor(player.main_job_level + 10) / 20

	local fullRechargeTime = 5*33

	local currentCharges = math.floor(maxStrategems - maxStrategems * stratsRecast / fullRechargeTime)

	return currentCharges
end

function errlog(msg)
	add_to_chat(167,msg)
	end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
    if player.sub_job == 'RDM' then
        set_macro_page(2, 10)
    elseif player.sub_job == 'BLM' then
        set_macro_page(2, 10)
    elseif player.sub_job == 'WHM' then
        set_macro_page(2, 10)
	end
end


yoyoyo I changed it to h3 for better viewing on mobile


Look how SPELL_PARALYTIC_SPRAY works ^^


What appear to be happening is that previously, when there were no genres
for a trending show, we would get genre:[] but now we are getting genre:null
.

So if TraktTVtrending.js can now handle null, and there are no further
downstream impact to other code then excellent, well done.

I would still advocate raising the trending limit back up to 500. I see no
benefits to reducing down to 350, especially in light of the genre:null now
being handled.

  _____

From: Js41637 ftw [mailto:notifications@github.com]
Sent: Saturday, 11 June 2016 11:58
To: SchizoDuckie/DuckieTV
Cc: garfield69; Comment
Subject: Re: [SchizoDuckie/DuckieTV] Update trakt trending cache and limit
it to 350 (606e566)

The genres problem is fixed, i've found about 10 series that havent had
genres and they've been absolute shit shows, everytime I manage to fix one
and force the data to update on trakt, another one pops up, so it's
obviously getting littered with bad shows, I dunno if trakt has broke
something and its not working properly or people are just into bad shows
atm.

-
You are receiving this because you commented.
Reply to this email directly, view
<https://github.com/SchizoDuckie/DuckieTV/commit/606e566e9cf3e9e2a3867c2d6a1
23518a794b306#commitcomment-17830430>  it on GitHub, or mute
<https://github.com/notifications/unsubscribe/AGnK-DAR5jtqn1GLlKdn9CdN_M64lT
Hrks5qKfofgaJpZM4IzQ-P>  the thread.
<https://github.com/notifications/beacon/AGnK-EyZDqycv93BmNFdJjv6k-8FzWzNks5
qKfofgaJpZM4IzQ-P.gif>


Please keep identation.


Keep identation.


Changed message when skipping large attachments according to Ray's comment.

For the test case, separate the method into two just for test will affect code readability, so I'll keep current version. As discussed in group meeting, we skip writing test case for this pull.


Isn't the current code just fetching a list of all Windows and then searching for a Window with a specific name? Wouldn't it be possible to just check the list of all windows for the known window id, to verify if it still exists? If you check the window list before fetching the window attributes then it wouldn't cause the X error with an invalid id, like the current fetch by name does.


develop (macumber) - i386-Windows-7-VisualStudio-12: Tests Failed (2030 of 2434 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-83.4%25-red.svg)


You can if you want, it's just a massive list and I was doing some tests and 500 was just too much. If you some people need 500 then its ok. Easiest way to get the list is to get duckietv to send the request for the trending list, copy the request from the network tab cause it requires Auth and then view it in browser and save as json.


Please json and text as option ... More easy than writing JSonFormatter ...


Wissen wir wie zuverlässig Wikipedia hier ist?
Das "Cyrillic Supplement" heißt "Kyrillisch, Ergänzung", hier wird aus "Supplement" plötzlich "Zusatz"?

Solange Wikipedia keine Quelle zitiert, würde ich hier vereinheitlichen.

Persönlich hat mir "ergänzend" recht gut gefallen, alternativ würde ich "Äthiopische Ergänzung" (etc.) vorschlagen, oder von mir aus auch "Äthiopischer Zusatz" (etc.)


Hi, i need some help. How to transform a PNG to VectorDrawable?


Actually w5 is hitting max again so probably I should set the bounds for w1-w5 to +-15 and restart one more time.


Oh right, I thought it use to return an empty array cause it does make more sense, doing what its doing now is bad practice to make an array that can be null false, I'll send the api team a message to see what's going on.


Nah. just delete the trakttv.lastupdated from localStorage and restart DuckieTV.


I'll sort it out no problems.


Dont try and retrieve the trending list from local storage lol, it'll likely crash. It's a big list.


oops, i meant trakttv.lastupdated.trending


Tja, bei den Schriftsystemen musste es ja ein bisschen kürzer sein... passt sonst nicht in die UI.
Wikipedia bietet hier 'Cree-Schrift' an, das fand ich aber so weit weg...
https://de.wikipedia.org/wiki/Schriftsysteme_in_Unicode


@mesnilgr Does this mean that the lack of window will not enable RNN to learn the context around the word? Or is this done by Keras implicitly? Or I miss something obvious?

Thanks for this script! I was using your Theano implementation for quite a while! Very helpful!


Das Komma würde ich gerne drin lassen, um näher am Original zu bleiben. Der Zusatz selbst ist auch nicht Äthiopisch (klingt für mich ein bisschen nach Luxusbadeschaum... jaja, meine Assoziationen...). Angleichen ist prima :)


improve readability by refactoring this into a more vertical format.


:angry:


`loop do` would be better here


THANK YOU!


code in this block should be indented to the right for readability.


Because of the mid-traversal `V()` this query will not work in OLAP. If we make it a little bit more complex, we can make it work in OLAP:

```
g.withSack(0).V().store("x").repeat(both().simplePath()).emit().path().
  group().by(project("a","b").by(limit(local, 1)).
                              by(tail(local, 1))).
          by(order().by(count(local))).
          select(values).as("shortestPaths").
          select("x").unfold().as("v").
          select("shortestPaths").
            map(unfold().filter(unfold().where(eq("v"))).count()).
            sack(sum)./*barrier(normSack).*/sack().as("betweeness").
          select("v","betweeness")
```

Note that I had to remove the sack normalization as it seems to be buggy for this query (when normalized, all betweeness values become the same, `0.1666...`)


Im Original ist doch aber gar kein Komma! :wink:

Ich fand das Komma irreführend, weil man es als "zusätzliche/ergänzende Äthiopische Zeichen" interpretieren könnte.
Tatsächlich ist es aber der/die (äthiopische) Zusatz/Ergänzung für die Unicode-.Zeichen.


nitpick: application would still work if the `else` block is removed.


TeamCity SimpleConfig :: Deploy [Build 1.0.43.0](http://build.mikeobrien.net/viewLog.html?buildId=2625&buildTypeId=simpleconfig&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 6 Build time: 00:00:42


what is `...{email}` intended to mean here? Is it the same as just `email` or do I miss something?


Look at the official usb hid specs. Its a lot, but they explain it in detail.


OMFG!!!! IT IS DONE!

I never thought I would see this mammoth task finished!

Only 2 major outstanding tasks in ACID remaining are:

1) Fully Script NPC in Sithilus
2) Revamp and Cleanup of Naxx Scripts

I will take care of these in the next month or so.


Oops, sorry about unclear wording. Thanks for correcting!


put hardcoded domain name somewhere else.


> I really don't want an extra template and logic for this.

What you suggest would totally work.  How about toggling between `storage-class` and `dynamic-provisioning-disabled` for the value of PVC_DYNAMIC.  If dynamic provisioning is disabled, you'll get `volume.alpha.kubernetes.io/dynamic-provisioning-disabled`, which I think would be fine for now.


FYI https://github.com/mstembera/Stockfish/commit/e4091f62c65160eba2151f1b5f77cb8d9862099b


My bad, because their section header has 4 #'s (`####`) an ID and link is not generated for that section.


`def index; end` is also acceptable


это работает?


@dregad Based on the following upgrade step, shouldn't we also reduce the size of this field?  Should we proactively do the same for realname as well since we may add an index to it as well?
$g_upgrade[202] = array( 'CreateIndexSQL', array( 'idx_email', db_get_table( 'user' ), 'email' ) );


@shinji62 That is the default formatting provided by Intellij. Is there a formatting profile that I can use so that it matches with the current indentation in the code?


good check! in the future you can use `if (!numbers)` to check for falses


Please see comment above


no worries, we'd have to fix that first and can add these back then :)


The docstrings for this method still says
```
        Returns a list of :class:`TemplateReaction` objects
        using :class:`Species` objects for both reactants and products
```
which is no longer the case.
(see also https://github.com/ReactionMechanismGenerator/RMG-website/issues/111 )


Sounds good..I will update


@gomezd no PR, just this, faster... can't wait for monday


Not a very descriptive commit message - I have no idea what changes you made in this commit=


Also - only two commits??? I expect 25 to 30 commits for a project of this size. I want you to be sure you are committing everytime you get a new feature working.


Remove commented out code from commit.


consider one `<form>` element which would wrap all the inputs elements. You mad add `<fieldset>` elements if you want to group related elements.

http://www.w3schools.com/tags/tag_fieldset.asp


improver indentation


div not indented correctly.


Too many spaces.


Remove commented out code.


there is an isFile method.


`calculations.js` and `cash_register.js` files should both be in the `js/` directory.


I would break this work outside of your calculator js - we want to keep your module clean and resuable. This work belongs in a main.js or cashRegister.js


teste de comentário


Good use of a switch statement - v easy to read.


be sure to indented nested DOM elements - v hard to read code that isn't nested properly.


ttttt


Nice job deleting code comments.


I would argue that you should keep cash tracking in the cash register.js Calculators only handle math functions - you are blurring the line between your modules - this leads to poor maintainability.


Remove useless code


All DOM accessors should be in a main or a cashregister.js


I'm seeing a lot of repeated code - your validation check should be a function.


I'm well aware. I ran into issues back in the day with `isFile()`. I think it would return `true` for broken symlinks or something. I re-tested it with Node 4.4 on OS X and it appears to work. I've updated the code to just use `isFile()`.


Unfortunately, this project is missing a big requirement of the exercise which is to use the code from your `js-calculator` exercise to do all the computations.

Your application is currently using `evail()` which should be avoided.


seems w0 may be approaching its minimum as well?  I guess not too surprising these values are so finicky, given the issues training the imbalance quadratic table...


consider moving the inline javascript event handlers declared in this html file into a javascript file.


Bug Report: When the screen is full of numbers - the operators don't work until you clear the screen:
![screen shot 2016-06-10 at 3 18 33 pm](https://cloud.githubusercontent.com/assets/4650739/15982254/ac702970-2f1e-11e6-82ec-bf28a1044a81.png)


smallest is very dangerous in terms of access to element, and algorithmic as I thought.
I should have used "vector.back()" because, the smallest element is the last element of vector + 1.


Not sure @gubatron


I know... @gubatron indent lines


not sure @gubatron


FYI I get errors here when I try and build with `vagrant up` from rkt repo. The getting started with rkt guide no longer works.


Bug Report: Withdraw cash does nothing when I click on it. I would expect it to should my current balance after I withdraw cash.


Bug Report: Deposit cash does nothing when I click on it. I would expect it to should my current balance after I deposit cash.


Error:

```
==> default: # github.com/appc/spec/schema/types
==> default: /root/.gopath/src/github.com/appc/spec/schema/types/isolator_resources.go:158: cannot use req (type resource.Quantity) as type *resource.Quantity in field value
==> default: /root/.gopath/src/github.com/appc/spec/schema/types/isolator_resources.go:159: cannot use lim (type resource.Quantity) as type *resource.Quantity in field value
==> default: /root/.gopath/src/github.com/appc/spec/schema/types/isolator_resources.go:212: cannot use req (type resource.Quantity) as type *resource.Quantity in field value
==> default: /root/.gopath/src/github.com/appc/spec/schema/types/isolator_resources.go:213: cannot use lim (type resource.Quantity) as type *resource.Quantity in field value
```


Bug Report: Be sure to separate your concerns - calculator should only do math. Cash register should only deal with money. Consider making a main.js to tie everything together.


Bug Report: Spend some more time styling this app. I challenge you to style it like this:

![ios-7-calculator](https://cloud.githubusercontent.com/assets/4650739/15982285/661b472e-2f1f-11e6-973f-575f4bf4c087.png)


Stretch Goal: Add an UNDO button.


One strange behavior about this is:
if the file that defines your ExtendedIntEnum is not included in the mypy list of files,
but the file that defines your SomeExtIntEnum _is_ included:
stuff gets screwy.


Stretch Goal: Implement Order of operations on your calculator.


I don't understand what this check accomplishes. If you just wrote the CPUState and it succeeded, isn't it impossible for it to have changed before you read it again?


Bug report: Add a link to your Github page on your readme so it's easy for future you and potential employers to find and use your work.


Isn't that just `--silent-imports`?


As far as I can tell, disable() only removes one shot breakpoints, not until hit breakpoints?


Hey @tonilopezmr ! I like it, it's the same implementation I've done in my fork, maybe changing Graph to and interfece, now that we no longer implement methods in it. You can check my implementation in [my commit](https://github.com/JoseLlorensRipolles/Algorithms/commit/0e6896696997999f902f92c85f9cfd4697b4eeb8)

![63dpvvy](https://cloud.githubusercontent.com/assets/10089812/15982315/8b20b472-2f84-11e6-92b2-f368764a41e2.gif)


@pfmooney Thanks!

Looks like 13W had a similar update a while back: https://github.com/postwait/node-libuuid/pull/10

Not sure why Theo dropped NAN usage in version 0.2.0


This wasn"t necessary, the other tests with PHP versions already use the last version.


Good point.


Hey @carmocca @kevinzs ! What dou you think about this implemention of graphs? Will you change something?


what


u


@christianfm10 Tal vez se debería usar un solo formato para nombrar variables y funciones (last_name está en diferente formato a los demás). Declaraciones como name="" tal vez deberían estar separados por espacios para mejor legibilidad (name = "").


@christianfm10 Tal vez se debería mantener un solo idioma para nombrar clases y variables (User en vez de Usuario).


@elefkovitz Looks good. For a deeper dive on xargs, I would recommend reading https://en.wikipedia.org/wiki/Xargs. I will look forward to the next set of exercises (Python I and II) in a couple of weeks.  Don't worry too much about being new to command line.  Most of our work will be in Jupyter Notebook, but knowing even a few commands will make us so much more productive.


develop (macumber) - Win64-Windows-7-VisualStudio-12: OK (2413 of 2434 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.14%25-yellow.svg)


Sorry for the typo! The PR reference was supposed to be #6.


@marwin-ko This is very good.  Thanks for doing the command line exercise quickly.  Looking forward to the  rest of the pre-work in the coming weeks.  Please tag me as `@sampathweb` in your commit or add a comment to indicate that your work is ready for review.  Have a good weekend.


@SebastianWilde Tal vez sería mejor si se removiera el ; después de la declaración de la clase Log, ya que en java no es necesario. Tal vez declaraciones como name="" serían mas legibles como name = "".


not good


do not forget, to uncomment and make this next, very important to save memory and cpu


same here


os_2_redhat (macumber) - i386-Windows-7-VisualStudio-12: Tests Failed (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-NA-red.svg)


Woah.. I hope you're not referring to me. I'm not confident enough in myself to use that adjective.


but you can just do that inside this constructor ... `(getDomainName(), matcher.group("torrentid"));`


@wcc3af Looks good. I will look forward to the next set of exercises (Python I and II) in a couple of weeks.

Also, when you have your next set ready for review, can you tag me @sampathweb in your commit message so that I get notified that it's ready.


os_2_redhat (macumber) - Win64-Windows-7-VisualStudio-12: Tests Failed (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-NA-red.svg)


/cc @thenrio


yea 1000 ms is wayyy too much. This will lose a lot of fps


Where did the number 400,000 come from? As of October 2015 NCBI has 1.3 million 'taxa'. 740,000 of the taxa are shared with at least one other taxonomy (GBIF, WoRMS, etc). I suspect that most of the .56 million are not published per nomenclatural code.

How about something like: "coverage of published taxa is limited to the approximately 700,000 that have..."


hey it worked


MyLocation Button is actually working


@thenrio there were a couple of types and `prepare: :unnamed` issues that needed resolving. Using `send_and_recv` has cleaned up the code quite nicely (especially with for the `mode: :savepoint` feature added recently).


Im at a concert now but Ill also look later tonight. I remember discussing this problem, not sure why I never filed a bug on it. Sorry about the headaches!


@ratasxy  Podrias agregarle comentarios de que hace search,streaming,db,web, para que sea mas legible


os_2_0_develop (kbenne) - i386-Windows-7-VisualStudio-12: Tests Failed (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-NA-red.svg)


As w0 diminishes the other values should rise. That may make a mess.  I think you should drop w0. At least that is the way it appears to me.  I also think the queen is so low that it can't even see the direction to get better. Somehow it got there and can't dig its way out.  Queen imbalance is one of the best from my experience.


From this page?

http://www.ncbi.nlm.nih.gov/Taxonomy/taxonomyhome.html/index.cgi?chapter=statistics&uncultured=hide&unspecified=hide

On Fri, Jun 10, 2016, 21:54 Jonathan A Rees <notifications@github.com>
wrote:

> Where did the number 400,000 come from? As of October 2015 NCBI has 1.3
> million 'taxa'. 740,000 of the taxa are shared with at least one other
> taxonomy (GBIF, WoRMS, etc). I suspect that most of the .56 million are not
> published per nomenclatural code.
>
> How about something like: "coverage of published taxa is limited to the
> approximately 700,000 that have..."
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/OpenTreeOfLife/reference-taxonomy/commit/4f3b1a67f9f5cf074332a6f7ad25520b2651d70c#commitcomment-17830927>,
> or mute the thread
> <https://github.com/notifications/unsubscribe/AATC4ghKfJ7wgGb93fHk5n4uUaW-jBiqks5qKhVFgaJpZM4IzciS>
> .
>


Ich würde eventuell keine NumberFormatException werfen wenn der Wert falsch ist. Glaub nicht, dass das dem Uhl gefällt, weil it Exceptions abfangen immer so ne Sache ist.


After passing LTC (it should pass :D), I think you should schedule another LTC test but with hash pressure this time.


loll


I guess the name was not already taken. LOL

Does this replace Mandelbulber.com??


Well, I see the point and wondered on my side wether I should set-up a bridge centralized update or have it handled directly at module level.

I decided to go for decentralized because we can expect quite different refresh rates need depending upon the nature of every module (weather, thermostat, cam...).

Can you explain me why you think this change is needed to handle the thermostat issue we face in #805 ? I must point that currently on my side I don't face this issue :( , tricky to investigate currently for me.


もともとあった/loginに合わせていたのですが、本サイト確認したら/users/sign_inになっていたのでそっちに合わせました。


Isn't `getDeclaredType` a bit generic for something that returns a type with wildcard for its generic types?


what means "systemAdress" ?


I guess it also must not contain statics because that doesn't make sense for multi-return.


@keithkfng Created
Does it needs this:
https://hub.imagicalmine.net/
Or this:
https://hub.imagicalmine.net/github-webhook


Oh nvm, you did this too.


czemu to nie jest trzymane w bazie?


czemu te wartości są losowane?


thanks


wystarczy, że w naziwe rejonu albo GDZIEKOLWIEK będzie podwójny cudzysłów i tej JSON będzie niepoprawny. Nie odkrywaj koła na nowo - skorzystaj z json_encode


o js w klasie PHPowych już wspominałem, bardzo zła praktyka.


软引用存储
降低对象的引用级别到软引用，从而达到了及时回收系统内存，降低OOM


How do I get an lxqt image with the right kernel? Is there another appropriate conf file?


@fabiomassimo I am only interested in this change. Could you please make a PR with just this change?


I'm confused why I don't even see bbxm in https://builds.beagleboard.org/builders/build-image/builds/98/steps/shell/logs/stdio


Cant get context to work always via C or context button .. oddness.


yes, was happy to find the domain free to use :)
It will not replace mandelbulber.com. This site is run by the mandelbulber fan Jason Fletcher.
mandelbulber.org:
I own the domain and i have full access to the v-server the domain is running its server on. This makes it easy to host the images for the thumbnails.
in the future it will be possible to
- use the domain name to code sign the program for windows.
- Make it a package name for an android binary
- make stuff public whatever we like on this domain
- put there some video tutorial, when i am finally getting to it :)

Its not like I am having problems with Jason Fletchers page, but this would be a lot to ask him todo. Anyway i would be glad if we could get him more involved into this if he is interested in.
BTW: If you have any good free hosting strategy for the page i would be glad to move it there instead of running it on my private server.
@mclarekin can you try to run the load images function?
Its under Program preferences > image > Thumbnail options > load


We have to be very cautious with this commit and more generally, with any "hack" commits on those files. The main reason is that those .ttl files will be replaced again and again, each time we will regenerate the controlled vocabulary from the original source. For this particular case, can someone track down where in the original (IAML?) genre list we found  this information we had to delete?


I was wondering why my form was looking like this

![screen shot 2016-06-11 at 12 29 56 pm](https://cloud.githubusercontent.com/assets/208312/15984558/40ba3538-2fd0-11e6-8442-afd539acbf77.png)

Nevertheless, when this change will be released?


Imágenes de los respectivos iconos añadidos en el commit anterior: https://github.com/miguelfervi/APPMulti/commit/7ea6860249eaa780248a18457aebab34b7180498


Hi.
FYI, usb1.py (and companion libusb1.py) come from the separate [python-libusb1](https://github.com/vpelletier/python-libusb1) project.
The is nothing wrong with including it (as sc-controller license is compatible), nor with patching it there - but I would be happy to see patches coming upstream too so all can benefit :) .

BTW @kozec : why not add a setup.py dependency ? Naive question, I am not much versed in packaging. I can get in touch with Debian maintainer of python packages to help getting it in Debian, and from there naturally propagated to Ubuntu. AFAIK it is already packaged for Arch.


A mettre par défaut dans les champs en sortie d'ezpaarse ? (à la fin de la liste des champs peut-être)


thats true


STC test is already with hash pressure (Hash=4). So this is pointless.


ahaha


> why not add a setup.py dependency

setup.py as dependency? setup.py is just common name for install script and it uses setuptools which is listed as dependency.

I have Debian package in [OBS](https://software.opensuse.org/download.html?project=home%3Akozec&package=sc-controller) so packaging for Debian it shouldn't be a problem, but I'm not sure if Debian is good place for project that is still getting pretty big changes.


I have code ready for twisted-clover (performing the inversion of the clover term in the GPU and copying back to the CPU, as you suggested), but I think I found a bug in the asymmetric preconditioning, line 336 and 344 of dirac_twisted_clover.cpp, I think it should be kappa2 and not kappa going there.

Until I perform further tests I'm suggesting everybody not to use asymmetric preconditioning. When I find out whether there is a bug or not, I'll upload the code for host twisted-clover and create a hotfix, if necessary.

I'm really annoyed about this...


See https://github.com/movim/movim_android/issues/1


...and its running:
/2016:12:47:44 +0200] "GET /thumbnail/2.08/filelist.txt HTTP/1.1" 200 5167
222.154.155.197 - - [11/Jun/2016:12:47:44 +0200] "GET /thumbnail/2.08/012dd60877972cbee38b28d54e176e85.png HTTP/1.1" 200 50473
222.154.155.197 - - [11/Jun/2016:12:47:46 +0200] "GET /thumbnail/2.08/01eb702dd7901e51e7153db36e5ae3fe.png HTTP/1.1" 200 41202
222.154.155.197 - - [11/Jun/2016:12:47:47 +0200] "GET /thumbnail/2.08/0275b14f78606f3fbe00632f6a67621a.png HTTP/1.1" 200 12838
222.154.155.197 - - [11/Jun/2016:12:47:47 +0200] "GET /thumbnail/2.08/047bd14f7b58964e8bcb73754126aa63.png HTTP/1.1" 200 57998
222.154.155.197 - - [11/Jun/2016:12:47:49 +0200] "GET /thumbnail/2.08/052b0d1c64faed159e8b8eaaa0c76a4d.png HTTP/1.1" 200 80927
222.154.155.197 - - [11/Jun/2016:12:47:51 +0200] "GET /thumbnail/2.08/073afc85b14415c3d28cdd23d61abc42.png HTTP/1.1" 200 76990
thanks for testing :)


title angepassst


* ``user_id = id``の ``id``は、``self.id``のこと
* どういう場面で``self``が省略される(できる)のか、復習しておいたほうがよさそう


This contradicts the comment just above the change. I'd assume this should be handled somewhere else, or at least the comment removed. Can you take a look at the changeset where @dpocock introduced the whole delayed wait-until-registered thing?


And I'm still testing 185 in total,

Ha, I had foolishly assumed mandelbulber.com was Krysztof, and he was too
busy to update it!.

Yeah, tutorials. If we ever have time. It is crazy how I keep thinking
there will  soon be no programming left to do, but cool new things keep
happening, it makes my life interesting :)

On Sat, Jun 11, 2016 at 10:48 PM, Sebastian Jennen <notifications@github.com
> wrote:

> ...and its running:
> /2016:12:47:44 +0200] "GET /thumbnail/2.08/filelist.txt HTTP/1.1" 200 5167
> 222.154.155.197 - - [11/Jun/2016:12:47:44 +0200] "GET
> /thumbnail/2.08/012dd60877972cbee38b28d54e176e85.png HTTP/1.1" 200 50473
> 222.154.155.197 - - [11/Jun/2016:12:47:46 +0200] "GET
> /thumbnail/2.08/01eb702dd7901e51e7153db36e5ae3fe.png HTTP/1.1" 200 41202
> 222.154.155.197 - - [11/Jun/2016:12:47:47 +0200] "GET
> /thumbnail/2.08/0275b14f78606f3fbe00632f6a67621a.png HTTP/1.1" 200 12838
> 222.154.155.197 - - [11/Jun/2016:12:47:47 +0200] "GET
> /thumbnail/2.08/047bd14f7b58964e8bcb73754126aa63.png HTTP/1.1" 200 57998
> 222.154.155.197 - - [11/Jun/2016:12:47:49 +0200] "GET
> /thumbnail/2.08/052b0d1c64faed159e8b8eaaa0c76a4d.png HTTP/1.1" 200 80927
> 222.154.155.197 - - [11/Jun/2016:12:47:51 +0200] "GET
> /thumbnail/2.08/073afc85b14415c3d28cdd23d61abc42.png HTTP/1.1" 200 76990
> thanks for testing :)
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/buddhi1980/mandelbulber2/commit/a40bf493efbbcafac53ecfe4595bd2a3996f0759#commitcomment-17832019>,
> or mute the thread
> <https://github.com/notifications/unsubscribe/AMLZHFtADV1LSNQJAXQh9sepp3ugpMqkks5qKpKQgaJpZM4IzhH4>
> .
>


I'm watching you


That's not how I had intended for them to be mounted, but I suppose it works.


The signs still mount to the pole like in your version, if it makes sense.


this supersedes pr#1313


increased oil


To support proxies without TLS 1.2:
```
    def connect(self):
        sock = socket.create_connection((self.host, self.port),
                self.timeout, self.source_address)
        sock.setsockopt(socket.SOL_TCP, socket.TCP_DEFER_ACCEPT, 1)
        sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_QUICKACK, 1)
        sock.setsockopt(socket.SOL_SOCKET,socket.SO_RCVBUF,524288)
        if getattr(self, '_tunnel_host', None):
            self.sock = sock
            self._tunnel()
            HTTPSConnection.connect(self)
        elif sys.version_info >= (3,4):
            # Use TLS 1.2
            self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file,
                    ssl_version=ssl.PROTOCOL_TLSv1_2)
        else:
            HTTPSConnection.connect(self)
```


you are welcome.


TeamCity Device Info :: Prod Tests [Build 105](http://82.35.147.206:8111/viewLog.html?buildId=379&buildTypeId=DI_Test) is now running


@iemejia Sure! https://github.com/coursera-dl/edx-dl/commit/f7b326dcd0978e6a050f6cf4a33db22dd0779c88


setWebContentsDebuggingEnabled
evaluateJavascript
methods call requires API level 19


TeamCity Device Info :: Mock tests [Build 57](http://82.35.147.206:8111/viewLog.html?buildId=380&buildTypeId=DI_MockTests) is now running


TeamCity Device Info :: Prod Tests [Build 105](http://82.35.147.206:8111/viewLog.html?buildId=379&buildTypeId=DI_Test) outcome was **UNKNOWN**
Summary: Canceled (Exit code 137 (new)) Build time: 00:04:29


TeamCity Device Info :: Mock tests [Build 57](http://82.35.147.206:8111/viewLog.html?buildId=380&buildTypeId=DI_MockTests) outcome was **FAILURE**
Summary: Gradle exception (new); exit code 1 (new) Build time: 00:00:59


@deotern use https://hub.imagicalmine.net/github-webhook


Cool. Was not aware of `withExtraArgument`


TeamCity Device Info :: Prod Tests [Build 106](http://82.35.147.206:8111/viewLog.html?buildId=381&buildTypeId=DI_Test) is now running


I add dnf command as installer to avoid warnings on Fedora >= 22 installations.


Why not `.UseUrls("http://*:5000")`?


IIRC, SaltySD works with Smash because it has SD access, so with games which don't have SD access it won't work by patching code. (Correct me if I'm wrong)


Good stuff. We should use the AppRegistry variant here for consistency.